Каталог Индекс раздела
Назад Оглавление Вперед

Лабораторная работа 5.

Файлы пакетной обработки данных. Операторы пакетных файлов.

Цель работы :

приобретение практических навыков создания и применения файлов пакетной обработки. Работа рассчитана на 4 часа.

 

Краткие теоретические сведения.

Пакетными или командными файлами (batch) называются файлы, содержимым которых являются команды MS-DOS (внешние и внутренние). Пакетные файлы используются в том случае, когда надо создать стандартную операционную среду с помощью набора ( а не одной ) команд MS-DOS. Одним из примеров является файл AUTOEXEC.BAT, осуществляющий начальную установку операционной среды. Существуют и другие ситуации, для которых применение пакетных файлов высокоэффективно. К ним относится, например, подготовка виртуального диска перед загрузкой интегрированного пакета ( перезапись на него библиотек, ряда дополнительных модулей, оверлейных файлов и т.д. ), а также создание исполняемых модулей из программ языков высокого уровня при отсутствии интегрированного пакета языка ( или невозможности его использования ).

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

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

А> имя командного файла  параметр1[параметр2 . . .]

Параметры, значения которых будут заданы при обращении к командному файлу, внутри файла будут иметь обозначения %1, %2, . . . , %N ( где N<10 ).

Рассмотрим операторы, которые используются только в командных файлах.

Оператор ECHO позволяет управлять потоком вывода на дисплей:

ECHO OFF блокирует выдачу на экран приглашений MS-DOS и текстов команд.

ECHO ON отменяет действие ECHO OFF.

ECHO позволяет вывести текст при заблокированной выдаче.

Оператор REN позволяет внести комментарий в текст командного файла. Строка после REN не анализируется командным процессором.

Оператор PAUSE приостанавливает дальнейшую обработку пакетного файла до нажатия пользователем любой клавиши. При этом на экране появляется сообщение "Strike any key when ready".

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

Оператор IF позволяет проверить условие и выполнить команду в зависимости от результата его проверки. В качестве условия может выступать:

1. Проверка кода завершения программы, срабатывающей перед оператором IF ( сформированного специальным прерыванием MS-DOS ):

IF  ERRORLEVEL   < команда MS-DOS >

Условие считается выполненным, если выработанный код завершения больше или равен N.

2. Проверка наличия файла:

IF  EXIST   < имя или шаблон файла >   < команда MS-DOS >

Условие считается выполненным при обнаружении файла.

3. Сравнение двух строк, которые могут быть заданы и через формальные параметры:

IF %==< текстовая строка >   < команда MS-DOS >

При абсолютном совпадении двух строк условие считается выполненным.

Любое из этих условий может задаваться со знаком логического отрицания NOT.

Оператор FOR обеспечивает циклическое выполнение команд MS-DOS. При этом можно задавать формальный параметр и список фактических параметров ( обычно - имен файлов ), которые последовательно подставляются в текст исполняемой команды вместо формального параметра. Формат команды:

FOR  < формальный параметр >  IN  (< список фактических параметров >)  DO  < команда MS-DOS >.

Например, команда

FOR  %  IN  (PAS  OBJ  EXE)  DO  COPY  PROG.%A  D:

вызывает копирование на диск D: трех файлов с именем PROG и расширениями PAS, OBJ, EXE.

Оператор SHIFT вызывает сдвиг формальных параметров относительно списка фактических. Так, после него первым (%1) формальным параметром становится фактический второй и т.д. Команда SHIFT может применяться для последовательной обработки заранее не определенного количества параметров либо для обработки более 9 фактических параметров ( т.к. максимальный номер формального параметра %9).

Оператор COMMAND позволяет вызывать новую копию командного процессора. При помощи этого оператора возможно выполнение рекурсивных вызовов командных файлов с возвратом. Так, команда

COMMAND  /C  V

вызовет обработку командного файла V.BAT, которая будет продолжаться до тех пор, пока в нем не закончатся операторы или не встретится оператор возврата EXIT. По этому оператору продолжится обработка вызывающего командного файла.

 

Подготовка к работе.

  1. Изучить теоретические сведения и составить план выполнения лабораторной работы.
  2. Подготовить программу командного файла в соответствии с индивидуальным заданием.

 

Порядок выполнения

1.  Подготовить и набрать командный файл, реализующий выполнение следующих алгоритмов:

2. Проверить выполнение заданных операций.

 

Содержание отчета

  1. Цель работы.
  2. Краткое описание основных операторов, используемых в пакетных фай-лах.
  3. В рабочем отчете зафиксировать задание, текст файла, результат его вы-полнения. Продемонстрировать правильность работы Вашего пакетного файла пре-подавателю.
  4. Сделать выводы по работе.

Контрольные вопросы:

  1. Является ли пакетный файл исполняемым ?
  2. Является ли он загрузочным ?
  3. В каких случаях, по Вашему мнению, целесообразно использовать па-кет-ные файлы ?
  4. Какие условия можно проанализировать в командном файле ?
  5. Что позволяет оператор FOR ?
  6. При сравнении текстовых констант отличается ли большая буква от ма-ленькой ?
  7. Как осуществить рекурсивный вызов командных файлов ?
  8. Какие еще операторы, используемые в пакетных файлах Вы знаете ?

Каталог Индекс раздела
Назад Оглавление Вперед