Пример 2.
Опишем прием, который часто используется для организации ветвления по коду, введенному пользователем с терминала (настройка на пользователя). Будем предполагать наличие специальной программы (назовем ее ASK-CODE), которая выполняет следующие операции:
— выдает на экран текст сообщения,
— принимает введенное пользователем с клавиатуры число,
вырабатывает код завершения, совпадающий с этим числом.
Фрагмент командного файла, использующего программу ASK-CODE, может иметь следующий вид:
ASK-CODE "Ваш код?"
if errorlevel 5 goto USERS
if errorlevel 4 goto USER4
if errorlevel 1 goto USER I
cd \work
goto end
:USERS cd \user5
goto end
:USER4 cd \user4
goto end
:USER1 cd \userl
:end
В данном примере группа команд IF ERRORLEVEL ... осуществляет анализ кода завершения, выработанного программой ASK-CODE (равного, напомним, числу, введенному пользователем с терминала в ответ на вопрос "Ваш код?"). В зависимости от значения происходит переход на одну из меток USERS, USER4, ... USER1, где затем происходит настройка операционной среды на конкретного пользователя. Если введенный пользователем код превышает 5, то переход все равно происходит на метку USER5; если же код равен 0, происходит переход на следующую команду под указанной группой операторов (cd \work). Таким образом, осуществляется ветвление внутри командного файла.
Пример 3.
Иногда в начале работы пользователю необходимо узнать, не оставил ли ему кто-либо из коллег какое-нибудь сообщение. Допустим, имеется договоренность, что такие сообщения заносятся в файл MAIL.(N) в каталоге USER(N), где (N) — код пользователя-адресата. Тогда проверка наличия сообщения и его печать для пользователя с кодом 1 может осуществляться командой вида:
if exist MAIL.1 type MAIL.1
Такая команда может стоять внутри участка командного файла, рассмотренного выше, после строки cd \userl. Аналогичные команды могут находиться в других участках этого командного файла после меток USERS, USER4 ...
Достарыңызбен бөлісу: |