我有一个批处理脚本设置来自动从远程FTP服务器检索文件。部分要求是文件将每天以新的日期戳命名,例如“File_90611.csv”。我有一个生成文件名的命令行工具;然后应该使用下面的行设置为变量:
for /f "delims=" %a in ('C:\BIN\YesterdayDateStamp.exe') do @set DATESTAMP=%a
问题是这个。从命令行直接运行时,此行正常工作。但是,当我在批处理脚本中放置完全相同的行并运行它时;我收到这个错误:
\ BIN \ YesterdayDateStamp.exe')此时出乎意料。
我在脚本中除了FOR ... IN命令以外的所有内容,以确保没有某种冲突;但即便如此,我仍然会收到错误。
一直在谷歌搜索,但没有线索。有任何想法吗?非常感谢任何建设性的意见。
谢谢, 弗兰克
答案 0 :(得分:5)
在批处理文件中使用for
时,您需要将变量名前面的百分号加倍。
来自for /?
:
要在批处理程序中使用FOR命令,请改为指定%%变量 %变量。变量名称区分大小写,因此%i不同 来自%I。