Командные файлы

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ

КАФЕДРА ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНОЙ АППАРАТУРЫ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОТЧЕТ

 

 

по лабораторной работе “Командные файлы”

Дисциплина “Системное ПО ЭВМ”

 

 

 

 

 

 

Выполнили студенты группы С-45.

 

 

 

Преподаватель проф. Зарудный Д. И.

 

 

 

 

 

 

Москва 1998

 

 

 

Оглавление

 

 

 

Введение

Рабочее задание

Краткие сведения о командных файлах

Практическая часть

Тексты программ

Протокол работы программ

Заключение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Введение

 

 

Командные файлы - средство MS-DOS, позволяющее автоматизировать часто выполняемые действия пользователя. Командные файлы могут выполнять довольно сложную последовательность действий. Основой командных файлов служат команды MS-DOS.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Рабочее задание

 

 

 

Создать командный файл BATCH1.BAT, выполняющий действия:

Отключение режима отображения на экране выполняемой команды

Вывод на экран: "Копирование и удаление файла"

Создание на диске A: каталога DIR1, и в нем создание каталога DIR2

Копирование файла с именем TEXT1.TXT из каталога C:\ALPHA\BETTA\GAMMA в файл с именем TEXTNEW.TXT в каталоге A:\DIR1\DIR2 

Удаление исходного файла

Вывод на экран: “Файл скопирован и удален”

Пауза до нажатия клавиши

Создать командный файл с именем 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:\MYDIR\NEWDIR

Удаление каталога 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:\dir1\dir2copy c:\alpha\beta\gamma\text1.txt a:\dir1\dir2\textnew.txt

del c:\alpha\beta\gamma\text1.txt

echo Файл скопирован и удален

pause

 

Файл 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 Задание выполнено

 

Файл _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

 

 

Файл 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

 

 

 

 

 

 

 

 

 

 

 

 

Протокол работы программ

 

Файл BATCH1.BAT

 

Копирование и удаление файла

1 файл(а,ов) скопировано

Файл скопирован и удален

Нажмите любую клавишу . . .

 

Файл SUMMA.BAT

 

Объединение и переименование файлов

c:\d1\anew.pas

c:\d1\bnew.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:\mydir\newdir” вместе со всеми подкаталогами? [Y(да)/N(нет)] y

Удаление a:\mydir\newdir...

 

д) запуск с параметром 5

 

Удалить каталог “a:\mydir” вместе со всеми подкаталогами? [Y(да)/N(нет)] y

Удаление a:\mydir...

 

 

 

 

 

 

Заключение

 

Выполненные задания позволяют сделать вывод о целесообразности применения командных файлов в случае необходимости использования часто повторяющихся действий. Командные файлы являются наиболее удачным решением для реализации простых алгоритмов, связанных с операциями над файлами. Однако для реализации сложных алгоритмов язык командных файлов может оказаться недостаточным.