Архив метки: цикл в cmd

Как организовать цикл в bat или cmd файле

Бывают ситуации, когда нужно выполнять какую-нибудь команду несколько раз, причем количество запусков заранее известно.
Для этого можно организовать цикл с помощью команды FOR.
Вот что написано в справке по этой команде:


FOR %переменная IN (набор) DO команда [параметры]

%переменная Подставляемый параметр.
(набор) Набор, состоящий из одного или нескольких файлов.
Допускается использование подстановочных знаков.
команда Команда, которую следует выполнить для каждого файла.
параметры Параметры и ключи для указанной команды.

В пакетных файлах для команды FOR используется запись
%%переменная вместо %переменная. Имена переменных
учитывают регистр букв (%i отличается от %I).

полную справку можно получить, вызвав

FOR /?

Итак, нам нужен цикл с определенным количеством итераций, это делается с помощью ключа /L


FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]

Набор раскрывается в последовательность чисел с заданными началом, концом и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5), а набор (5,-1,1) заменяется на (5 4 3 2 1)

Например, мне недавно понадобилось пропинговать 3 подсеть, cmd файл с командой выглядит так:

FOR /L %%i IN (1,1,255) DO ping 192.168.3.%%i >>ping.log