Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС - Лабораторная работа №4.doc
Скачиваний:
98
Добавлен:
25.03.2015
Размер:
86.02 Кб
Скачать

Лабораторная работа № 4 Программирование командных bat-файлов, обработка аргументов, метки,

операторы перехода и ветвления, организация циклов

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

Теоретические сведения

  1. Пакетные командные файлы (ПКФ) в системе MS-DOS

Пакетные командные файлы используются в операционных системах (ОС) для того, чтобы иметь возможность задавать последовательность команд ОС, управлять запуском задач, создавать разные варианты рабочей среды.

ПКФ в системе MS-DOS являются текстовыми файлами в коде ASCII, которые содержат последовательности команд ОС. Они должны иметь расширение .ВАТ и иметь имя не более восьми символов. При этом, в текущем каталоге не должно быть одноименных файлов с расширением .СОМ или .ЕХЕ.

В ОС MS-DOS специально для ПКФ предусмотрено восемь команд и специальный символ @ (Табл.1).

Данные команды являются внутренними командами ОС, размещаются в командном процессоре и доступны из любого каталога.

Таблица 1

Команда

Назначение

@

Не выводит на экран дисплея строку которая следует за ним.

CALL

Осуществляет выполнение одного пакета команд внутри другого пакета.

CLS

Очистка экрана.

ECHO OFF

Запрещает вывод на экран командных строк.

ECHO ON

Разрешает вывод на экран командных строк.

ECHO <текст>

Вывод на экран текстовой информации (при действии команды ECHO OFF).

FOR

Задание цикла.

GOTO<метка>

Передача управления на указанную метку.

IF

Условное выполнение команды.

PAUSE

Прерывает выполнение программы.

REM

Выводит текст на экран дисплея.

SHIFT

Сдвиг влево параметров команды.

Для запуска ПКФ вводится его имя без расширения. В случае, если ПКФ находится не в текущем каталоге, путь доступа к ПКФ должен быть определен командой РАТН. Если в какой-либо команде пакета была допущена ошибка, то выполнение пакета прекращается и на экран выводится сообщение об ошибке.

Можно прервать выполнение пакета нажатием Ctrl-C. В этом случае выводится сообщение:

Terminate batch job (Y/N)?

(Завершить работу командного файла (Да/Нет)?

ПКФ можно сформировать с помощью любого текстового редактора или других программ позволяющих создавать файлы в коде ASCII.

  1. Действие команд в командных файлах

Рассмотрим более подробно некоторые команды в ПКФ.

  • ECHO ON/OFF

ECHO <текст сообщения> - вкл/выкл режима вывода команды перед её выполнением.

@ – если этот символ поставлен в начало строки, то следующая за ним команда не выводится при включенном режиме вывода команды перед её выполнением (т.е. если ECHO ON).

  • GOTO

После имени этой команды сообщается метка командной строки, в которую производится переход. Если перед строкой указано двоеточие, то это означает, что за ним следует метка, а не команда. Между двоеточием и именем пробел не ставится, между именем и командой GOTO оставляют пробел. Длина метки ограничивается 8 символами.

Например,

GOTO EXIT оператор безусловного

……………. перехода по метке

:EXIT

  • CHOICE

CHOICE [/С:список символов][/Т:символ,число секунд] сообщение

/С:список символов – указывает допустимые символы, которые может ввести пользователь в ответ на сообщение. Если данный параметр не указан, допустимые символы – Y и N.

/Т:символ,число секунд – если этот параметр указан, то в случае, когда пользователь по истечении заданного времени не нажал ни на одну клавишу, принимается ответ символ.

Например: CHOICE /C:YN “Запустить программу ALFA? ”– при ответе N значение переменной ERRORLEVEL устанавливается равным 2, а при ответе Y– равным 1.

  • IF

IF <условие> <действие> – оператор условия.

Например:IF ERRORLEVEL 1 GOTO EXIT.

Переменная <условие> может иметь один из четырех форматов:

1. <набор_символов_1>==<набор_символов_2>.

Условие выполняется, если <набор_символов_1> и <набор_символов_2> являются идентичными после замещения параметров.

2. ERRORLEVEL <номер>.

Условие выполняется, если для последней команды, которую выполнила ОС код завершения равен или больше значения <номер>.

3. EXIST <имя_файла>.

Условие выполняется, если существует файл с указанным именем.

4. NOT <условие>.

Условие выполняется, если не выполняется заданное условие.

  • COMMA

COMMAND /Y /C имя­_командного_файла [параметры] – выполнение командного файла в пошаговом режиме. Текст каждой команды будет выводиться перед выполнением на экран. Для выполнения команды надо нажать клавишу Y или Enter.

  • PAUSE

Выводит на экран сообщение: Strike a key when ready .... Если нужно вывести текст на русском языке, то перед командой PAUSE можно ввести ECHO с текстом "Нажмите любую клавишу".

И после нажатия клавиши дальше выполняется командный файл. В период паузы возможен выход из выполнения командного файла путём нажатия сочетания клавиш Ctrl+C или Ctrl+Break.

  • SHIFT

Формат команды прост: SHIFT. В ПКФ можно использовать до десятка параметров, с помощью данной команды это количество можно увеличить. Команда SHIFT присваивает новые значения параметрам %0 - %9. При этом параметру %0 присваивается старое значение %1 ,%1 - старое значение %2 и т.д. %9 присваивается значение, следующее за старым значением %9 в командной строке.

  • FOR

FOR %%N IN(группа) DO команда %%N,

где N - однобуквенная переменная, последовательно принимающая значения, входящие в параметр (группа);

(группа) - имя файла или имена файлов, вместе с именем файла могут указываться дисковод и возможный путь доступа; команда - команда ОС MS-DOS.

  • CALL

CALL [<дисковод:>][<путь_доступа>]<командный_файл> <параметры>,

где <дисковод:> - дисковод диск которого содержит командный файл;

<путь_доступа> - путь доступа к данному ПКФ;

<командный файл> - имя ПКФ без расширения.