【发布时间】:2022-10-14 23:23:57
【问题描述】:
我有一个简单的批处理脚本,它使用 SCP 将文件 filename 传输到远程位置 destination。
使用scp filename destination 工作得很好,但是添加变量var 不起作用。
代码sn-p:
set /p "var=filename"
echo %var%
echo scp "%var%" destination
scp "%var%" destination
结果:
filename
scp "" destination
: not a regular file
第二个echo 和scp 未使用或识别该变量。
在 echo 和 scp 中正确使用变量有什么遗漏吗?
注意:代码 sn-p 在 if 语句中
解决方案:
需要使用delayexpansion,并使用!var!而不是%var%
【问题讨论】:
-
Set /P提示输入。当filename出现在您的屏幕上时,您应该输入它,然后按[ENTER]键。从您发布的内容来看,很明显您只是按下了[ENTER]键。
标签: windows batch-file scp