it-swarm.cn

对于Windows bat脚本中从1到n的循环计数

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

我希望这样的事情

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

甚至这个(尽管不是很认真)

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

谢谢!

---([〜#〜] edit [〜#〜]

我可以用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

然后执行它...但是问题是,我需要一种简洁的方法来指定要通过within脚本进行迭代的数字范围。

谢谢!

25
raoulsson

您可以类似地这样做:

ECHO Start of Loop

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

1,1,5解码为:

(start,step,end)

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

46
Goyuix

语法是

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

好文章 这里 和XP详细信息 这里

9
Andy

直接从命令行:

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
7
fmoraesjr