Windows批处理脚本:用于...循环以捕获程序输出不起作用

Fra*_*rio 0 batch-file windows-7 windows-server-2008-r2

我有一个批处理脚本设置来自动从远程FTP服务器检索文件.部分要求是文件将每天以新的日期戳命名,例如"File_90611.csv".我有一个生成文件名的命令行工具; 然后应该使用下面的行设置为变量:

for /f "delims=" %a in ('C:\BIN\YesterdayDateStamp.exe') do @set DATESTAMP=%a
Run Code Online (Sandbox Code Playgroud)

问题是这个.从命令行直接运行时,此行正常工作.但是,当我在批处理脚本中放置完全相同的行并运行它时; 我收到此错误:

\ BIN\YesterdayDateStamp.exe')此时出乎意料.

除了FOR ... IN命令,我在脚本中记录了所有内容,以确保没有某种冲突; 但即便如此,我仍然会收到错误.

谷歌搜索的答案,但没有线索.有任何想法吗?非常感谢任何建设性的意见.

谢谢,弗兰克

Ray*_*hen 5

for在一个批处理文件时,你需要在变量名前百分号一倍.

来自for /?:

要在批处理程序中使用FOR命令,请指定%% variable而不是%variable.变量名称区分大小写,因此%i与%I不同.