Выполнение команды для набора файлов
Запись от Базаров размещена 05.01.2015 в 20:41
Назначение
Команда For позволяет выполнить программу или команду DOS для нескольких файлов из указанного списка. Команда For может употребляться в командных файлах, а также непосредственно вводится пользователем.
Формат команды
for %x in (список) do команда
Параметры
Примеры
При вызове из командной строки 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.
Команда For позволяет выполнить программу или команду DOS для нескольких файлов из указанного списка. Команда For может употребляться в командных файлах, а также непосредственно вводится пользователем.
Формат команды
for %x in (список) do команда
Параметры
x - любой символ (кроме 0-9, чтобы не было смешения с параметрами командных файлов %0-%9);При использовании команды For в командном файле вместо %x надо указывать %%x (см. примеры ниже).
список - одно или несколько имен файлов, разделенных пробелами. В именах файлов можно использовать символы * и ?;
команда - любая программа или команда DOS, кроме команды For. Если в команде употреблено %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.
Всего комментариев 0