Оглавление
1. Введение
2. Рабочее задание
3. Краткие сведения о командных файлах
4. Практическая часть
1. Тексты программ
2. Протокол работы программ
5. Заключение
1. Введение
Командные файлы - средство MS-DOS, позволяющее
автоматизировать часто
выполняемые действия пользователя. Командные файлы могут выполнять
довольно
сложную последовательность действий. Основой командных файлов служат
команды
MS-DOS.
2. Рабочее задание
1. Создать командный файл BATCH1. BAT, выполняющий действия:
1. Отключение
режима отображения на экране выполняемой команды 2. Вывод на экран:
"Копирование и удаление файла" 3. Создание на диске A: каталога DIR1,
и в нем создание каталога DIR2 4. Копирование файла с именем TEXT1. TXT
из
каталога C: \ALPHA\BETTA\GAMMA в файл с именем TEXTNEW. TXT в каталоге
A:
\DIR1\DIR2 5. Удаление исходного файла 6. Вывод на экран:
“Файл скопирован и
удален” 7. Пауза до нажатия клавиши 2. Создать командный файл
с именем SUMMA.
BAT, выполняющий действия: 1. Вывод на экран “Объединение и
переименование
файлов” 2. Объединение содержимого файлов ANEW. PAS и BNEW.
PAS, находящихся в
каталоге C: \D1, в файл CNEW. PAS в каталоге C: \D2 3. Вывод
содержимого файла
CNEW. PAS на экран 4. Ожидание нажатия клавиши 5. Переименование файлов
ANEW.
PAS и BNEW. PAS в AOLD. PAS и BOLD. PAS соответственно.
6. Вывод на экран: "Задание выполнено" 3. Создать командный
файл с
именем _EXIST. BAT, выполняющий действия: 1. Вывод на экран
“Копирование файла
в случае его отсутствия на дискете” 2. В случае отсутствия
файла SIMP. FOR на
диске A: скопировать его туда из каталога C: \FOR и вывести на экран:
"Файл simp. for скопирован на диск A: " 3. Если файл SIMP. FOR уже
есть на диске, вывести на экран: "Файл simp. for уже есть на дискете"
4. Создать командный файл с именем BATCH4. BAT, выполняющий различные
действия
в зависимости от переданного параметра в строке вызова: 1. Создание
каталога A:
\MYDIR и копирование в него всех. com и. exe файлов с диска C: 2.
Создание в
каталоге A: \MYDIR каталога \NEWDIR и копирование в него всех. com
файлов с
диска C: 3. Вывод на экран содержимого каталога A: \MYDIR 4. Удаление
каталога
A: \MYDIR\NEWDIR 5. Удаление каталога A: \MYDIR 3. Краткие сведения о
командных
файлах Командный файл состоит из последовательности строк, в каждой из
которых
может находиться либо вызов программы, либо вспомогательные команды.
Большинство строк командного файла обрабатываются DOS так же, как если
бы они
вводились пользователем в командной строке. Вспомогательные команды
служат для
управления ходом работы командного файла. Наиболее распространенные
вспомогательные команды: ЕСНО При формате вызова 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.
4. Практическая часть 4.1 Тексты программ 1. Файл BATCH1. BAT
@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 2.
Файл SUMMA.
BAT @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 Задание выполнено
3. Файл
_EXIST. BAT @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 4. Файл
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:
\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 2. Протокол
работы программ 1. Файл BATCH1. BAT Копирование и удаление файла 1
файл(а, ов)
скопировано Файл скопирован и удален Нажмите любую клавишу...
2. Файл SUMMA. BAT Объединение и переименование файлов c:
\d1\anew. pas c:
\d1\bnew. pas 1 файл(а, ов) скопировано { Содержимое файла anew. pas }
{
Содержимое файла bnew. pas } Нажмите любую клавишу... Задание выполнено
3. Файл
_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:
\mydir\newdir” вместе со всеми подкаталогами? [Y(да) /N(нет)
] y Удаление a:
\mydir\newdir...
д) запуск с параметром 5 Удалить каталог “a:
\mydir” вместе со всеми
подкаталогами? [Y(да) /N(нет) ] y Удаление a: \mydir...
3. Заключение
Выполненные задания позволяют сделать вывод о целесообразности
применения
командных файлов в случае необходимости использования часто
повторяющихся
действий. Командные файлы являются наиболее удачным решением для
реализации
простых алгоритмов, связанных с операциями над файлами. Однако для
реализации
сложных алгоритмов язык командных файлов может оказаться недостаточным.