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

时间:2011-09-07 16:05:39

标签: windows-7 batch-file windows-server-2008-r2

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

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

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

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

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

一直在谷歌搜索,但没有线索。有任何想法吗?非常感谢任何建设性的意见。

谢谢, 弗兰克

1 个答案:

答案 0 :(得分:5)

在批处理文件中使用for时,您需要将变量名前面的百分号加倍。

来自for /?

  

要在批处理程序中使用FOR命令,请改为指定%%变量   %变量。变量名称区分大小写,因此%i不同   来自%I。