我有一個簡單的批處理腳本,它使用 SCP將檔案傳輸filename到遠程位置。destination
使用scp filename destination效果很好,但是添加變數var不起作用。
代碼片段:
set /p "var=filename"
echo %var%
echo scp "%var%" destination
scp "%var%" destination
結果:
filename
scp "" destination
: not a regular file
echo第二個和不使用或識別該變數scp。
在 echo 和 scp 中正確使用變數有什么遺漏嗎?
注意:代碼片段在 if 陳述句中
解決方案:需要使用delayexpansion, 并使用!var!代替%var%
請參閱此處:如果不作業,Windows 批處理 SET inside
uj5u.com熱心網友回復:
您發布的代碼段沒有問題。
但是,如果這些行在帶括號的代碼塊內,這些行將按照您描述的方式失敗。
如果是這種情況,那么您必須更改代碼以使用延遲擴展。
有關詳細資訊和檔案,請參閱setlocal/?和set/?。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515737.html
標籤:视窗批处理文件scp
