Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratornaya-rabota-1-os.doc
Скачиваний:
4
Добавлен:
11.11.2019
Размер:
192 Кб
Скачать

Параметр errorlevel

Любая программа для Windows при завершении своего выполнения передает операционной системе целочисленной значение, которое называется кодом завершения программы. По умолчанию код завершения равен 0, и это значение принято считать признаком нормального завершения, т.е. отсутствия каких-либо «нештатных ситуаций» при работе программы. Пользователь может предусмотреть выдачу любых значений кода завершения, при этом ненулевые коды завершения обычно означают, что в ходе работы программы произошли какие-то неприятности (например, не найден входной файл, неверный формат обрабатываемых данных и т.п.).

Если программа была запущена в диалоговом режиме, то значение кода ее завершения никак не используется, теряется. Если же программа запускалась из пакетного файла, то можно проверить значение кода завершения при помощи оператора IF ERRORLEVEL, формат которого описан ниже. Такая проверка позволяет разветвить ход дальнейшего выполнения пакетного файла в зависимости от кода завершения программы.

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

1.7. Команды для пакетных файлов

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

Вызов одного пакетного файла из другого

CALL [диск:][путь]имя_файла [параметры]

параметры - Набор параметров командной строки, необходимых пакетному файлу.

Изменение команды CALL при включении расширенной обработки команд:

Команда CALL допускает использование меток в качестве адресата вызова.

Применяется следующий синтаксис:

CALL :метка аргументы

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

Команда GOTO /? выводит описание расширения GOTO :EOF, позволяющее выполнить быстрый возврат из пакетного файла.

Кроме того, раскрытие ссылок на аргументы пакетных файлов (%0, %1 и т.д.) изменено следующим образом: %* в пакетном файле обозначает все аргументы (например, %1 %2 %3 %4 %5 ).

Операции подстановки параметров пакетного файла (%n) также расширены.

Допускается применение следующих синтаксических конструкций:

%~f1

переменная %1 расширяется до полного имени файла

%~d1

из переменной %1 выделяется только имя диска

%~p1

из переменной %1 выделяется только путь к файлу

%~n1

из переменной %1 выделяется только имя файла

%~x1

из переменной %1 выделяется расширение имени файла

%~s1

значение параметров n и x изменяется так, что они работают с кратким именем файла

%~$PATH:1

проводится поиск по каталогам, заданным в переменной среды PATH, и переменная %1 заменяется на полное имя первого найденного файла.  Если переменная PATH не определена или в результате поиска не найден ни один файл, эта конструкция заменяется на пустую строку

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