Реферат: Командные файлы
Название: Командные файлы Раздел: Рефераты по информатике Тип: реферат |
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ КАФЕДРА ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНОЙ АППАРАТУРЫ ОТЧЕТ по лабораторной работе “Командные файлы” Дисциплина “Системное ПО ЭВМ” Выполнили студенты группы С-45. Преподаватель проф. Зарудный Д. И. Москва 1998 Оглавление 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. Заключение Выполненные задания позволяют сделать вывод о целесообразности применения командных файлов в случае необходимости использования часто повторяющихся действий. Командные файлы являются наиболее удачным решением для реализации простых алгоритмов, связанных с операциями над файлами. Однако для реализации сложных алгоритмов язык командных файлов может оказаться недостаточным. |