在 Windows bat 脚本中,For 循环从 1 计数到 n

在 Windows bat 脚本中,For 循环从 1 计数到 n

我需要在 bat 脚本文件中运行 n 次 Windows 命令。我知道如何用各种编程语言来执行此操作,但无法在 Windows 命令行上正确执行此操作 :-(

我希望

for(int i = 0; i < 100; i++) {
   // do something
}

或者甚至这样(虽然不是完全认真的)

1.upto(100, {
   // do something
}) 

谢谢!

编辑

我可以用 java、perl、c 或其他任何语言编写一个程序,生成如下所示的 bat 脚本

for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N

等等。或者甚至“更好”:

echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12

然后执行它...但问题是我需要一种简洁的方法来指定要迭代的数字范围之内剧本。

谢谢!

答案1

您可以类似地这样做:

ECHO Start of Loop

FOR /L %i IN (1,1,5) DO (
  ECHO %i
)

1,1,5 解码为:

(start,step,end)

另请注意,如果将其嵌入批处理文件中,则需要使用双百分号(%%)作为变量的前缀,否则命令解释器将在运行循环之前尝试评估变量 %i。

答案2

直接从命令行:

for /L %n in (1,1,100) do @echo %n

使用批处理文件:

@echo off
for /L %%n in (1,1,100) do echo %%n

显示:

1
2
3
...
100

答案3

语法是

FOR %%A IN (1 2 3) DO ECHO %%A

好文章这里和 XP 细节这里

相关内容