Статьи

Как организовать цикл в 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