Команды DOS. Справочное пособие

       

Команда 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:



Содержание раздела