←предыдущая следующая→
1 2
будет прервано.
REM
Строки, начинающиеся с REM, при выполнении командного файла игнорируются. В них можно записывать комментарии.
FOR
Формат команды: FOR %%x IN (СПИСОК) DO КОМАНДА
При выполнении КОМАНДА будет выполнена для каждого файла из списка. Эту команду можно использовать, если программа, которую нужно вызвать, не поддерживает "джокеров" - символов "*" и "?" в именах файлов.
Пример: FOR %%A IN (*.TXT) DO MORE<%%A
Эту команду можно использовать и в командной строке, но при этом вместо %%х нужно писать %х.
Параметры командного файла - слова, идущие при его вызове в командной строке вслед за именем самого файла.
Пример - compare.bat example.txt. example2.txt
В командном файле параметры указываются с помощью выражений %х, где х - цифра от 1 до 9. %0 означает имя самого командного файла. Так, если в приведенном выше примере файл compare.bat содержит строку type %1 , то во время выполнения она заменится на type example.txt.
Некоторые команды MS-DOS, необходимые в написании командных файлов:
Смена текущего каталога осуществляется командой
CD имя_каталога
Создание каталога осуществляется командой
MD имя_каталога.
Копирование файла - командой
COPY имя_файла1 имя_файла2.
Удаление файла - командой
DEL имя_файла.
Удаление каталога – командой
DELTREE имя_каталога
Файлы объединяются командой
COPY файл1 + файл2 файл3
после выполнения которой файл3 содержит данные, находившиеся в файлах файл1 и файл2.
4. Практическая часть
4.1 Тексты программ
@echo offecho Копирование и удаление файла a:mkdir a:\dir1mkdir a:\dir1\dir2copy c:\alpha\beta\gamma\text1.txt a:\dir1\dir2\textnew.txt
del c:\alpha\beta\gamma\text1.txt
echo Файл скопирован и удален
pause
@echo offecho Объединение и переименование файлов copy c:\d1\anew.pas + c:\d1\bnew.pas c:\d2\cnew.pastype c:\d2\cnew.paspause
rename c:\d1\anew.pas aold.pas
rename c:\d1\bnew.pas bold.pas
echo Задание выполнено
@echo offecho Копирование файла в случае его отсутствия на дискете if not exist a:\simp.for goto met1echo Файл simp.for уже есть на дискете
goto met2
:met1
copy c:\for\simp.for a:\simp.for
echo Файл simp.for скопирован на диск A:
:met2
@echo offgoto m%1goto qend:m1a:mkdir a:\mydircopy c:\*.com a:\mydircopy c:\*.exe a:\mydir
goto qend
:m2
a:
cd a:\mydir
mkdir a:\mydir\newdir
copy c:\*.com a:\mydir\newdir
goto qend
:m3
dir a:\mydir
goto qend
:m4
deltree a:\mydir\newdir
goto qend
:met5
deltree a:\mydir
:qend
Копирование и удаление файла
1 файл(а,ов) скопировано
Файл скопирован и удален
Нажмите любую клавишу . . .
Объединение и переименование файлов
c:\d1\anew.pas
c:\d1\bnew.pas
1 файл(а,ов) скопировано
{ Содержимое файла anew.pas }
{ Содержимое файла bnew.pas }
Нажмите любую клавишу . . .Задание выполнено
а) файл отсутствует на дискете:Копирование файла в случае его отсутствия на дискете
1 файл(а,ов) скопировано
Файл simp.for скопирован на диск A:
б) файл есть на дискете:Копирование файла в случае его отсутствия на дискете
Файл simp.for уже есть на дискете
4. Файл BATCH4.BAT
а) запуск с параметром 1
{ список из 10 .com файлов }
10 файл(а,ов) скопировано
{ список из 8 .exe файлов }
8 файл(а,ов) скопировано
б) запуск с параметром 2
{ список из 10 .com файлов }
10 файл(а,ов) скопировано
в) запуск с параметром 3
{ вывод содержимого каталога A:\MYDIR }
г) запуск с параметром 4
Удалить каталог “a:\mydir\newdir” вместе со всеми подкаталогами? [Y(да)/N(нет)] y
Удаление a:\mydir\newdir...
д) запуск с параметром 5
Удалить каталог “a:\mydir” вместе со всеми подкаталогами? [Y(да)/N(нет)] y
Удаление a:\mydir...
Выполненные задания позволяют сделать вывод о целесообразности применения командных файлов в случае необходимости использования часто повторяющихся действий. Командные файлы являются наиболее удачным решением для реализации простых алгоритмов, связанных с операциями над файлами. Однако для реализации сложных алгоритмов язык командных файлов может оказаться недостаточным.
←предыдущая следующая→
1 2
|
|