Вернуться   Компьютерный форум > Блоги > Базаров
Оценить эту запись

Выполнение команды для набора файлов

Запись от Базаров размещена 05.01.2015 в 20:41

Назначение
Команда For позволяет выполнить программу или команду DOS для нескольких файлов из указанного списка. Команда For может употребляться в командных файлах, а также непосредственно вводится пользователем.
Формат команды
for %x in (список) do команда
Параметры
x - любой символ (кроме 0-9, чтобы не было смешения с параметрами командных файлов %0-%9);
список - одно или несколько имен файлов, разделенных пробелами. В именах файлов можно использовать символы * и ?;
команда - любая программа или команда DOS, кроме команды For. Если в команде употреблено %x, то оно заменяется именами файлов из списка.
При использовании команды For в командном файле вместо %x надо указывать %%x (см. примеры ниже).
Примеры
При вызове из командной строки DOS:
for %c (*.asm) do masm %c - для всех файлов из текущего каталога с расширением .ASM вызвать макроассемблер MASM;
for %f in (*.pas *.exe) do fc %f a:%f - сравнить файлы с расширениями .PAS и .EXE из текущего каталога стакими же файлами на диске A:;
for %c in (1 2 3 4 5 6 7 8 9 0) do copy %c*.* d: - копировать все файлы из текущего каталога с именами, начинающимися с цифры, в текущий каталог диска D:.
В командном файле те же примеры надо было бы записать так:
for %%c in (*.asm) do masm %%c
for %%f in (*.pas *.exe) do fc %%f a:%%f
for %%c in (1 2 3 4 5 6 7 8 9 0) do copy %%c*.* d:
Длинные имена Windows 95
При наличии на диске длинных имен файлов или каталогов, сгенерированных в Windows 95 или Windows NT, команда for по умолчанию не будет замечать эти имена, а будет видеть (и выдавать) только соответствующие короткие имена. Однако в MS DOS 7.0 вы можете переключить команду for на работу с длинными именами. Для этого перед командой for надо выдать команду LFNFOR ON. Для возврата к работе с короткими именами можно выдать команду LFNFOR OFF.
Размещено в Без категории
Просмотров 712 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 06:31. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.