Команда FOR
Выполняет заданную команду для каждого файла или набора файлов.  Эту команду можно использовать в командных файлах или в ответ на командную подсказку. 
В первом случае используется синтаксис:
     FOR %%переменная IN (множество) DO команда [параметры]
а во втором случае:
     FOR %переменная IN (множество) DO команда [параметры]
Параметр %%переменная  или %переменная представляет подставляемую  переменную.  Команду FOR заменяет эту переменную  текстом каждой строки в заданном множестве,  пока команда после ключевого слова DO не обработает все файлы. "Множество" задает один или более файлов или текстовых строк,  которые вы хотите  обработать  с помощью  заданной команды.  Скобки обязательны.  "Команда" задает команду,  выполняемую для каждого включенного в множество  файла. "Параметры"  задают параметры данной команды (если она их использует).  IN и DO - это не параметры, а обязательные ключевые слова команды FOR. 
Чтобы избежать путаницы с параметрами командного файла %0  %9, для  переменных следует использовать любые числа кроме 0 - 9. В простом командном файле вам хватит  одного  символа,  например, %%F. Вложенность команд FOR на одной командной строке не допускается. 
Параметр "множество" представляет одну или  несколько  групп файлов. В нем можно использовать трафаретные символы (* и ?). Допустимы следующие  множества  (*.doc),   (*.doc   *.dat   *.rpt), (olg*.doc olgj*.rpt svt*.doc svt*.rpt), (ol??1991.* kr??1991.*). 
При использовании  команды  FOR  первое значение в множестве заменяет %%переменную (или %переменную),  и MS-DOS выполняет  для обработки этого значения заданную команду. Этот процесс продолжается,  пока MS-DOS не обработает все файлы (или группы файлов)  в множестве. 
Предположим, вы хотите использовать команду PRINT для распечатки  содержимого  всех  файлов в текущем каталоге с расширением .DAT и .RPT. Для этого наберите команду:
     for %f in (*.dat *.rpt) do print %f
Каждый файл  в  указанными  расширениями подставляется в качестве %F,  пока не будет распечатано содержимое всех  файлов.  В этой команде можно использовать символы конвейеризации и перенаправления. Например,  предыдущую команду можно модифицировать следующим образом:
    for %f in (*.dat *.rpt) do type %f > prn:
Назад | Содержание | Вперед