Подтвердить что ты не робот

Пакетный цикл Windows для диапазона в командной строке

Я хочу выполнить операцию несколько раз из командного окна. Здравый смысл подсказывает мне, что цикл 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

Но разве нет простого способа сделать это из командной строки?

4b9b3361

Ответ 1

Вы можете использовать тег /l в своем заявлении, чтобы сделать его циклом через набор чисел.

например.

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

Это говорит о том, что цикл проходит через диапазон, начиная с 1, шаг 1 за раз, до 1000

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

Ответ 2

для/l %% я в (1,1,100) do echo %% i

добавить еще один знак% до того, как я заработаю