Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
iCarnecie_SSD2_RU_v5 (2).docx
Скачиваний:
18
Добавлен:
23.12.2018
Размер:
6.54 Mб
Скачать

4.3.2 Команды пакетного файла

  • Пакетные файлы

  • Команды

Подобно Макроопределениям, которые обсуждались в 4.2.2 Лабораторная работа: Макросы, командные файлы также автоматизируют задачи. Этот раздел дает краткий обзор командных файлов и охватывает некоторые команды, которые могут использоваться в командных файлах.

Пакетные файлы

Термин пакетный файл (batch file) означает не-диалоговый. В ранних компьютерных системах, пользователи представляли программы в виде перфокарт, которые собирались в пакеты и запускались. Вывод затем печатался и возвращался пользователям. При дальнейшем развитии операционных систем, пакетная обработка стала включать в себя функцию планирования, при помощи которой система выбирала, какую работу выполнять следующей, основываясь на уровне приоритета и требуемых ресурсах. Также можно указать, чтобы работа выполнялась в определенное время дня (например, делать резервные копии диска ночью), или многократный, например еженедельный, отчёт о состоянии и движении запасов или ежемесячная платежная ведомость компании. Хотя основная идея была в том, чтобы пакетные программы были автономны и не зависели от взаимодействия с пользователем.

Командный файл под Windows или "сценарий командного процессора" (shell script) в UNIX, выполняет похожую функцию. Он состоит из последовательности команд для выполнения программ и операций с файлами. Можно сконструировать абсолютно автономные командные файлы, которым для запуска не нужно взаимодействия с пользователем, но это не является строго необходимым. Как вы увидите, процессор командной строки DOS, выполняющий командные файлы должен предусматривать некоторые простые формы взаимодействия с пользователем.

Командный файл под Windows текстовый файл (не файл Word), с расширением .BAT. Командный файл содержит команды DOS и имена программ для выполнения. Файл также может содержать команды управления потоком данных, которые указывают процессору команд сделать цикл (повторить определенные команды) или обработать состояния ошибки определенным способом.

Общее использование командных файлов записывать новые команды. Например, есть командный файл SWAP.BAT, который меняет два файла, переименовывая их:

REM Here is the source to SWAP file1 file2 Это смена файлов file1 file2 @ECHO OFF REM Remember that / precedes a switch. Запомните что / стоит перед ключом REM Use HELP DEL or DEL /? to find out about /Q Используйте HELP DEL or DEL /? Для того чтобы узнать о /Q DEL/Q TEMP MOVE %1 TEMP MOVE %2 %1 MOVE TEMP %2

Обозначения %1, %2, и т.п., относятся к параметрам команды обмена. Если пользователь набирает "SWAP A.TXT B.DOC" в командной строке, то SWAP ссылается на новую команду, определенную нашим командным файлом, и на время выполнения командного файла, %1 эквивалентен A.TXT , а %2 эквивалентен файлу B.DOC. Также, используя операторы присваивания, можно ввести имена переменных в командном файле, например %NAME%.

Создание командного файла — фактически вид программирования, использующий очень ограниченный язык. Одна необычная особенность этого языка в том, что синтаксическая ошибка в одной строке не останавливает выполнение файла. Если встречается синтаксическая ошибка, то выдается сообщение об ошибке и командный файл продолжается следующей командой. Это может иметь непредусмотренные последствия. Так же как и другие виды программ важно проверить командный фай перед использованием его в любом важном приложении.

Команды

Ниже приведен список команд обычно используемых в командных файлах:

rem remark Это обозначает, что все что следует за командой rem в строке (remark в нашем примере) является комментарием.

echo message Эта команда отображает сообщение (message) в стандартном устройстве вывода (Standard Output), которым обычно является монитор. Команда echo может также использоваться вместе с переназначением вывода для отправки сообщения в файл. Например, echo starting stage three.

echo.

Обратите внимание на точку ( . ) в конце команды echo. Это специальный вариант команды echo, который отображает пустую строку в стандартном устройстве выводе.

@echo off

Останавливает отображение команд в пакетном файле на стандартном выводе. По умолчанию, каждая строка текста в командном файле, обрабатываемая командным процессором, отображается в стандартном устройстве вывода. Этот режим удобен в при отладке. Часто вывод на дисплее смущает пользователей, так что большинство команд, записанных ввиде командных файлов, начинаются с @ echo off.

pause

Эта команда прерывает выполнение командного файла и отображает сообщение "Нажать любую клавишу для продолжения...." Выполнение возобновился, когда будет нажата клавиша на клавиатуре. Эта команда полезна, если вы хотите вынудить командный файл остановиться и дождаться действия пользователя (например, вставки диска) до продолжения выполнения.

: label

Любая строка в командном файле, начинающаяся с двоеточия ( : ) считается меткой. Метки используются определенным потоком команд управления для повторения или пропуска определенных строк в файле. После двоеточия ( : ) дается соответствующее имя для метки. Имя не должно содержать пробелов.

goto label Эта команда указывает процессору команд выполнить первую командную строку за меткой, установленной в команде.

if exist filename command

Эта команда определяет наличие файла или подкаталога в текущем рабочем каталоге. В примере выше, если утверждение верно (то есть, если файл, названный filename, существует), то команда (command в нашем примере) выполняется. Так, команда if exist index.html del index определяет, существует файл index.html и, если он существует, то удаляет его.

В лабораторной работе следующего раздела даются примеры использования этих команд применительно к пакетному файлу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]