Реферат: Командные файлы
Командный файл состоит из последовательности строк, в каждой из которых может находиться либо вызов программы, либо вспомогательные команды. Большинство строк командного файла обрабатываются DOS так же, как если бы они вводились пользователем в командной строке. Вспомогательные команды служат для управления ходом работы командного файла. Наиболее распространенные вспомогательные команды:
[sms]ЕСНО
При формате вызова ECHO OFF отменяет вывод строк командного файла на экран при выполнении. Команда ECHO ON возобновляет их вывод на экран. Большинство командных файлов начинаются со строки @ECHO OFF. Символ "@" служит для отмены вывода на экран строки, следующей непосредственно за ним.
В остальных случаях команда ЕСНО выводит на экран текст, следующий за ней в строке.
GOTO
Применяется для перехода к определенной строке командного файла. При выполнении команды GOTO LABEL происходит переход к строке, начинающейся с текста :LABEL.
IF
Служит для проверки условия во время выполнения командного файла.
Формат команды: IF УСЛОВИЕ КОМАНДА .
Команда будет выполнена в том случае, если условие будет истинно. Однако, допуст м формат IF NOT УСЛОВИЕ КОМАНДА. При этом команда выполнится, если условие ложно. В качестве команды часто используется GOTO.
В качестве условия могут быть использованы выражения:
EXIST ФАЙЛ - истинно в том случае, если указанный файл существует.
СТРОКА1 = = СТРОКА2 - истинно, если строки совпадают. Обычно в одну из строк входят параметры командного файла.
PAUSE
Приостанавливает выполнение командного файла до нажатия клавиши any. Если нажать клавиши Ctrl+Break, выполнение командного файла будет прервано.
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.
Тексты программ
Файл BATCH1.BAT
@echo offecho Копирование и удаление файла a:mkdir a:dir1mkdir a:dir1dir2copy c:alphabetagammatext1.txt a:dir1dir2textnew.txt
del c:alphabetagammatext1.txt
echo Файл скопирован и удален
pause
Файл SUMMA.BAT
@echo offecho Объединение и переименование файлов copy c:d1anew.pas + c:d1bnew.pas c:d2cnew.pastype c:d2cnew.paspause
rename c:d1anew.pas aold.pas
rename c:d1bnew.pas bold.pas
echo Задание выполнено
Файл _EXIST.BAT
@echo offecho Копирование файла в случае его отсутствия на дискете if not exist a:simp.for goto met1echo Файл simp.for уже есть на дискете
goto met2
:met1
copy c:forsimp.for a:simp.for
echo Файл simp.for скопирован на диск A:
:met2
Файл BATCH4.BAT
@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:mydirnewdir
copy c:*.com a:mydirnewdir
goto qend
:m3
dir a:mydir
goto qend
:m4
deltree a:mydirnewdir
goto qend
:met5
deltree a:mydir
:qend
Протокол работы программ
Файл BATCH1.BAT
Копирование и удаление файла
1 файл(а,ов) скопировано
Файл скопирован и удален
Нажмите любую клавишу . . .
Файл SUMMA.BAT
Объединение и переименование файлов
c:d1anew.pas
c:d1bnew.pas
1 файл(а,ов) скопировано
{ Содержимое файла anew.pas }
{ Содержимое файла bnew.pas }
Нажмите любую клавишу . . .Задание выполнено
Файл _EXIST.BAT
а) файл отсутствует на дискете:Копирование файла в случае его отсутствия на дискете
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:mydirnewdir" вместе со всеми подкаталогами? [Y(да)/N(нет)] y
Удаление a:mydirnewdir...
д) запуск с параметром 5
Удалить каталог "a:mydir" вместе со всеми подкаталогами? [Y(да)/N(нет)] y
Удаление a:mydir... [/sms]