[英]How to pass a variable into %0 part of batch file with ftp?
我有一个批处理文件,希望能够从命令行调用,例如:
myBatch.bat testParam
该批处理文件如下:
set sid=%1
C:\Windows\System32\ftp.exe -s:%0
goto done
open servername
username
password
get 'FilePath%sid%restoffilepath' targetPath\%sid%MyName.txt
bye
:done
但是,我似乎无法使FilePath%sid%restoffilepath
部分正常工作-我相信这是因为%0
将输入视为文字,但是我不确定100%。 %sid%变量不会扩展。
在这种情况下,我基本上想让FilePath%sid%restoffilepath
成为FilePathtestParamrestoffilepath
。
请仔细考虑您在这里所做的事情-ftp.exe正在读取文件。 您的批处理脚本知道%1是什么,它没有将数据提供给ftp.exe。
您需要做的是将脚本发布到一个文件中,然后运行ftp命令:
set sid=%1
echo open servername >> myftp.txt
echo username >> myftp.txt
echo password >> myftp.txt
echo get 'FilePath%sid%restoffilepath' targetPath\%sid%MyName.txt >> myftp.txt
echo bye >> myftp.txt
C:\Windows\System32\ftp.exe -s:myftp.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.