Windows批量FOR循环通过命令行的范围

时间:2013-03-22 18:33:24

标签: windows batch-file for-loop cmd

我想从命令窗口多次执行操作。常识告诉我FOR循环应该能够处理这个问题。果然,如果我想执行,比如myProg.exe,我可以打开命令窗口并使用:

C:\> FOR %i in (1 2 3) DO myProg.exe

易。

但是如果我想执行myProg.exe 1000次怎么办?我想在FOR循环中指定一个范围,但是我无法看到如何执行此操作。

直观地说,我似乎应该能够做到以下其中一项:

C:\> FOR %i in (1 to 1000) DO myProg.exe
C:\> FOR %i in (1-1000) DO myProg.exe

但是,当然,这不起作用。 FOR循环将列表分别解释为3个令牌和1个令牌,因此myProg.exe仅分别执行3次和1次。


批处理文件解决方案

编写某种批处理(.bat)文件可能很容易:

SET COUNT=0
:MyLoop
    IF "%COUNT%" == "1000" GOTO EndLoop
    myProg.exe
    SET /A COUNT+=1
    GOTO MyLoop
:EndLoop

但是,从命令行执行此操作是不是一种简单的方法?

2 个答案:

答案 0 :(得分:39)

您可以在语句中使用/ l标记使其循环遍历一组数字。

例如。

C:\> FOR /l %i in (1,1,1000) DO myProg.exe

这表示在整个范围内循环,从1开始,一次步进1,直到1000

http://ss64.com/nt/for_l.html

答案 1 :(得分:6)

for / l %% i in(1,1,100)do echo %% i

在我工作之前添加另一个%符号