FOR / L IN%SET%DO(...)什么都不做,它只是回应?

时间:2011-11-10 11:01:36

标签: windows batch-file

我制作了一个如下所示的批处理脚本:

set F=Project_idem.exe
set I=1
set M=solution
set NSET=(3 20 1)
FOR /L %%N IN %NSET% DO ( START "idem" %F% -mode %M% -iterations %I% %%N )

我想要做的是在名为" idem"的窗口中运行Project_idem.exe。最后一件事是3,4,...,20中的整数。当我运行文件时,它只打印出行?像这样:

FOR /L %N IN (3 20 1) DO (START "idem" Project_idem.exe -mode solution -iterations 1 %N )

它没有进行实际的迭代?如何让它运行迭代?操作系统是XP。 好的解决了...我的步长在错误的地方。它应该是(3,1,20)。谢谢!!! (我不相信我花了一个小时的时间:D)

2 个答案:

答案 0 :(得分:4)

在帮助屏幕上,它看起来应该是(3 1 20)而不是(3 20 1)。

答案 1 :(得分:2)

尝试一次调试一个问题。

请参阅HELP FOR

并在命令行中尝试

FOR /L %a IN (3 20 1) DO @ECHO %a

并与

进行比较
 FOR /L %a IN (3 1 20) DO @ECHO %a

这个简单的测试应该让你开始。