Довольно часто возникает потребность в написании пакетного файла, обрабатывающего «все» файлы определенного типа. Программы командной строки могут работать с символами-заместителями в именах файлов: например можно набрать delete *. dat для удаления всех файлов, чьи имена оканчиваются на. dat. В пакетных файлах задачи такого же рода можно выполнять с помощью цикла for. Если у вас имеется опыт работы с системой Unix, потребности в специальных инструкциях для работы с символами-заместителями могут на первый взгляд вызвать удивление. В системах Unix и Linux командные оболочки еще до запуска команды расширяют все аргументы командной строки, имеющие символы-заместители, в список имен, поэтому для команды эти аргументы появляются в таком виде, как будто пользователь сам ввел все эти имена. Этот процесс называется универсализацией файловых имен. В DOS и Windows оболочки этого не делают. Когда аргументы командной строки содержат символы-заместители, задача их расширения в список имен файлов возлагается на команду или на пакетный файл.
Базовая версия команды for проводит сканирование набора или списка имен, запуская однократно команду для каждого имени. Для пакетных файлов используется следующий формат: for %%х in (набор имен) do Команда где Набор имен является списком слов, разделенных пробелами. Команда for выполняет команду по одному разу для каждого найденного ею элемента набора. При каждой итерации переменная х содержит текущее имя, и любое появление %%х в команде заменяется текущим значением переменной х. Для имени переменной можно выбрать любую букву алфавита. Также имеет значение выбранный для буквы регистр, верхний или нижний, то есть для команды for буквы а и А являются разными буквами. которая выводит список всех факсов, полученных от службы факсов Windows, и время их получения. Несколько других форм команды for рассматриваются в главе 10, и вам обязательно нужно с ними ознакомиться. Расширенная команда for позволяет сканировать каталоги, в рекурсивном режиме сканировать их подкаталоги и совершать другие полезные действия, которые невозможно выполнить никакими другими способами.