Скачать .docx  

Реферат: Командные файлы

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

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

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

ОТЧЕТ

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

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

Выполнили студенты группы С-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. Заключение

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