Windows批处理有关范围遍历命令行(Windows batch FOR loop on rang

2019-07-22 18:17发布

我想多次从命令窗口中执行的操作。 常识告诉我,一个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

但是,是不是有一种简单的方法在命令行中做到这一点?

Answer 1:

您可以使用/ l标签在你的声明,使之循环通过一组数字。

例如。

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

这是说遍历的范围内,从1开始,每次步进1日起至1000

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



Answer 2:

为/升%% i的(1,1,100)做回声%%我

再添%符号我工作之前



文章来源: Windows batch FOR loop on range through command line