Реферат: Командные файлы
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
КАФЕДРА ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНОЙ АППАРАТУРЫ
ОТЧЕТ
по лабораторной работе “Командные файлы”
Дисциплина “Системное ПО ЭВМ”
Выполнили студенты группы С-45.
Преподаватель проф. Зарудный Д. И.
Москва 1998
Оглавление
Введение
Рабочее задание
Краткие сведения о командных файлах
Практическая часть
Тексты программ
Протокол работы программ
Заключение
1.
Введение
Командные файлы — средство
MS-DOS,позволяющее автоматизировать часто выполняемые действия пользователя. Командные файлы могут выполнять довольно сложную последовательность действий. Основой командных файлов служат команды MS-DOS.
2. Рабочее задание
Создать командный файл BATCH1.BAT, выполняющий действия:
Отключение режима отображения на экране выполняемой команды
Вывод на экран: «Копирование и удаление файла»
Создание на диске A: каталога DIR1, и в нем создание каталога DIR2
Копирование файла с именем TEXT1.TXTиз каталога C:ALPHABETTAGAMMA в файл с именем TEXTNEW.TXTв каталоге A:DIR1DIR2
Удаление исходного файла
Вывод на экран: “Файл скопирован и удален”
Пауза до нажатия клавиши
Создать командный файл с именем SUMMA.BAT, выполняющий действия:
Вывод на экран “Объединение и переименование файлов”
Объединение содержимого файлов ANEW.PAS иBNEW.PAS, находящихся в каталоге C:D1, в файл CNEW.PAS в каталоге C:D2
Вывод содержимого файла CNEW.PAS на экран
Ожидание нажатия клавиши
Переименование файлов ANEW.PAS и BNEW.PAS в AOLD.PAS иBOLD.PAS соответственно.
Вывод на экран: «Задание выполнено»
Создать командный файл с именем _EXIST.BAT, выполняющий действия:
Вывод на экран “Копирование файла в случае его отсутствия на дискете”
В случае отсутствия файла SIMP.FOR на диске A: скопировать его туда из каталога C:FOR и вывести на экран: «Файл simp.for скопированна диск A:»
Если файл SIMP.FOR уже есть на диске, вывести на экран: «Файл simp.for уже есть на дискете»
Создать командный файл с именемBATCH4.BAT, выполняющий различные действия в зависимости от переданного параметра в строке вызова:
Создание каталога A:MYDIR и копирование в него всех .com и .exe файлов с диска C:
Создание в каталоге A:MYDIR каталога NEWDIR и копирование в него всех .comфайлов с диска C:
Вывод на экран содержимого каталога A:MYDIR
Удаление каталога A:MYDIRNEWDIR
Удаление каталога 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 Тексты программ
Файл BATCH1.BAT
@echo offecho Копирование и удаление файла a:mkdir a:dir1mkdir a:dir1dir2copy c:alphaetagamma
ext1.txt a:dir1dir2 extnew.txtdel c:alphaetagamma ext1.txt
echo Файл скопирован и удален
pause
Файл SUMMA.BAT
@echo offecho Объединение и переименование файлов copy c:d1anew.pas + c:d1new.pas c:d2cnew.pastype c:d2cnew.paspause
rename c:d1anew.pas aold.pas
rename c:d1new.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:mydirewdir
copy c:*.com a:mydirewdir
goto qend
:m3
dir a:mydir
goto qend
:m4
deltree a:mydirewdir
goto qend
:met5
deltree a:mydir
:qend
Протокол работы программ
Файл BATCH1.BAT
Копирование и удаление файла
1 файл(а, ов) скопировано
Файл скопирован и удален
Нажмите любую клавишу.. .
Файл SUMMA.BAT
Объединение и переименование файлов
c:d1anew.pas
c:d1new.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:mydirewdir” вместе со всеми подкаталогами? [Y(да)/N(нет)] yУдаление
a:mydirewdir...
д) запуск с параметром 5
Удалить каталог
“a:mydir” вместе со всеми подкаталогами? [Y(да)/N(нет)] yУдаление
a:mydir...
Заключение
Выполненные задания позволяют сделать вывод о целесообразности применения командных файлов в случае необходимости использования часто повторяющихся действий. Командные файлы являются наиболее удачным решением для реализации простых алгоритмов, связанных с операциями над файлами. Однако для реализации сложных алгоритмов язык командных файлов может оказаться недостаточным
.