Последовательность автоматически выполняемых операций обработки в операционной системе получила название пакетной обработки (batch processing). Инструментальным средством пакетной обработки является командный (пакетный) файл.
Командный файл - файл, позволяющий автоматизировать работу в операционной системе. Он состоит из команд, действующих только в конкретной прикладной программной среде.
Командный файл, работающий в операционной среде MS DOS, имеет тип .ВАТ (от англ. Batch - пачка). Макрос имеет тип, который определяет его принадлежность к определенной прикладной среде.
Командный файл создается как текстовый файл в любом текстовом редакторе. Например, в среде MS DOS можно воспользоваться редактором EDITOR. Сам текст представляет собой последовательность конструкций команд операционной системы, имен файлов запуска прикладных систем, различных сервисных утилит.
Для запуска командного файла достаточно в командной строке задать только его имя без указания типа и нажать клавишу
Прерывание работы командного файла осуществляется нажатием клавиш
Запомните!
В командном файле используются любые команды операционной системы и ее сервисного окружения. Кроме того, имеется ряд команд, специально созданных для управления работой командного файла.
Пример
Предположим, у вас возникло желание автоматизировать свои действия перед началом работы с некоей прикладной программной средой, а именно:
Заданные действия следует записать в любом текстовом редакторе в командный файл, например под именем КОМ1 на диск D. Учитывая, что мы сейчас занимаемся изучением операционной системы MS DOS, рассмотрим, как это сделать во встроенном в нее редакторе EDITOR:
AIDSTEST A:/F/G | Проверка диска А: на вирус |
MD D:\DOCUMENT | Создание каталога DOCUMENT на диске D: |
MD D:\TEXT | Создание каталога TEXT на диске D: |
COPT A:*.DOC D:\DOCUMENT | Копирование всех файлов типа .DOC с диска А: в каталог DOCUMENT диска D: |
COPY A:*.TXT D:\TEXT | Копирование всех файлов типа .ТХТ с диска А: в каталог TEXT диска D: |
C:\LEXICON\LEX | Загрузка среды текстового редактора ЛЕКСИКОН |
ECHO ON – все команды будут выводиться на экран вместе с приглашением DOS.
ECHO OFF – команды командного файла на экран не выводятся, хотя сама команда будет выведена.
Можно избежать вывод любой строки командного, если поставить знак @.
Пример:
Для введения в командный файл комментариев, показывает заголовок файла или их действия.
REM _ [сообщение (не более 123 символов)]
Команду можно использовать для временной блокировки командного файла в ходе его выполнения.
PAUSE _ [сообщение (не более 121 символов)]
Используется в двух случаях:
Пример:
@ ECHO _ OFFECHO / REM / PAUSE _ просмотрим файл
TYPE _ H:\OC.TXT
CALL _ <имя командного файла>
Вызывает файл в пошаговом режиме, что удобно для его отладки. Текст каждой команды будет выводиться на экран.
Пример:
COMMAND
@ ECHO _ OFF
MD H:\KAT1
CD H:\KAT1
CALL _ %1
GOTO _ метка
Метка – любое слово длинна которого не ограниченна (DOS учитывает только первые 8 символов).
Метка начинается со знака двоиточее. Строка с меткой не вызывает ни каких действий, сама метка на экран не выводится. Выполняется команда, следующая за меткой.
Чтобы сделать командный файл более универсальным используется механизм формальных и фактических параметров.
Фактический параметр указывается в командной строке после имени командного файла.
Формальный параметр указывается в самом командном файле (можно задавать до 10 формальных параметров).
%0 - Имя самого командного файла
Пример:
Командный файл для пересылки файла с диска А: на диск С:
COPY _ A:\%1 _ C:
DEL _ A:\%1
FOR - организует цикл, который выполняет другие команды DOS несколько раз с различными параметрами.
FOR_%%<переменная>_ N_(<множество>)_DO_<команда>_ %%<переменная>
Такая команда сообщает DOS "для каждого элемента множества выполнить команду.
Переменная - любой символ, за исключением 0…9
Множество - одно или несколько имен файлов, разделенных пробелами, а также используются формальные параметры.
Команда - любая команда DOS.
Пример:
FOR _ %%А _ IN _ (%1 _ *.txt) _ DO _ TYPE _ %%A
IF [NOT] - условная команда.
Позволяет проверить некоторое условие и выполнить или не выполнить команду в зависимости от результата проверки.
Команда IF состоит из двух частей. Первая это проверка истинности некоторого условия, если оно истинно, то выполняется команда из второй части, если условие ложно, то команда во второй части не выполняется и управление передается следующей строке командного файла.
Условием может быть:
IF _ EXIST _ имя файла _ команда
IF _ ERRORLEVEL _ N _ команда
IF _ цепочка1 = = цепочка2 _ команда
В качестве одной из цепочек может использоваться формальный параметр. Условие считается истинным, если первая и вторая цепочка полностью совпадают, в этом случае выполняется команда (обычно GOTO).
Иногда в командном файле нужно выполнить действие по выбору пользователя
CHOICE _ [/C: _ список символов ] _ [/N] _ [/S] _ [/T:_символ, число секунд] _ [сообщение]
/C: - указывает список символов, которые пользователь может ввести в ответ на сообщение, если данный параметр не указан то дополнительными символами будут являться Y и N.
/N - не выводить список символов и знак вопроса
/S - при вводе символов различать их на строчные и прописные
/T - если указан, то в случае когда пользователь по истечению "Числа секунд" не нажал клавишу то принимается ответ "Символ".
Сообщение - указывается сообщение, выводимое на экранSHIFT - применяется, когда надо разработать командный файл с циклической структурой.
Например, в командном файле имеется два формальных параметра %1 %2, а при вызове командного файла указывается четыре фактических параметра А, В, С, D; тогда при первом выполнении задания, до команды SHIFT, %1=А, а %2=В. После команды SHIFT %1=В, а %2=С и т.д.