Создание диалоговых командных файлов
Запись от Базаров размещена 07.01.2015 в 01:44
Иногда в командном файле нужно выполнить различные действия по выбору пользователя. Это можно сделать с помощью программы Choice (она содержится в MS DOS, начиная с версии 6.0).
Формат вызова
CHOICE [/C:список-символов] [/T:символ,число-секунд] сообщение
Параметры
2. Обычно к сообщению добавляется список допустимых для ответа символов (через запятую в квадратных скобках) и знак вопроса. Если вы не хотите, чтобы к сообщению выводился такой "довесок", укажите в команде параметр /N.
3. Использование параметра /T удобно в файле AUTOEXEC.BAT, чтобы не заставлять пользователя вмешиваться при обычном варианте начальной загрузки DOS.
4. Если в сообщении имеются символы "/", то их следует заключить в кавычки.
Выполнение программы
Программа Choice выводит указанное сообщение и ждет, пока пользователь не введет один из указанных в списке символов. При указании параметра /Т, если в течение указанного в этом параметре времени пользователь не нажал ни на одну клавишу, то принимается указанный в этом параметре ответ. Значение переменной ERRORLEVEL (см. ранее) устанавливается равным номеру введенного символа в списке.
Пример
CHOICE /C:YN "Запустить программу ALFA?" - при ответе N значение переменной ERRORLEVEL устанавливается равным 2, при ответе Y - равным 1.
Использование переменной ERRORLEVEL
Покажем, как может использоваться значение этой переменной. В приведенном ниже примере осуществляется выбор одной из трех игр: DIGGER, TETRIS и CAT.
Формат вызова
CHOICE [/C:список-символов] [/T:символ,число-секунд] сообщение
Параметры
/C:список-символов - указывает допустимые символы, которые может ввести пользователь в ответ на сообщение. Если данный параметр не указан, допустимые символы - это Y и N;Замечания. 1. Если вы желаете, чтобы при вводе символов различались прописные и строчные буквы, укажите в команде параметр /S.
/T:символ,число-секунд - если этот параметр указан, то в случае, когда пользователь по истечении заданного параметром число-секунд времени не нажал ни на одну клавишу, то принимается ответ символ;
сообщение - указывает сообщение, выводимое на экран.
2. Обычно к сообщению добавляется список допустимых для ответа символов (через запятую в квадратных скобках) и знак вопроса. Если вы не хотите, чтобы к сообщению выводился такой "довесок", укажите в команде параметр /N.
3. Использование параметра /T удобно в файле AUTOEXEC.BAT, чтобы не заставлять пользователя вмешиваться при обычном варианте начальной загрузки DOS.
4. Если в сообщении имеются символы "/", то их следует заключить в кавычки.
Выполнение программы
Программа Choice выводит указанное сообщение и ждет, пока пользователь не введет один из указанных в списке символов. При указании параметра /Т, если в течение указанного в этом параметре времени пользователь не нажал ни на одну клавишу, то принимается указанный в этом параметре ответ. Значение переменной ERRORLEVEL (см. ранее) устанавливается равным номеру введенного символа в списке.
Пример
CHOICE /C:YN "Запустить программу ALFA?" - при ответе N значение переменной ERRORLEVEL устанавливается равным 2, при ответе Y - равным 1.
Использование переменной ERRORLEVEL
Покажем, как может использоваться значение этой переменной. В приведенном ниже примере осуществляется выбор одной из трех игр: DIGGER, TETRIS и CAT.
echo offСледует заметить, что проверки значения переменной ERRORLEVEL следует располагать в порядке убывания значений: сначала проверять на самое большое значение, затем - на следующее по убыванию и т.д.
echo Выберите желаемую игру: D - DIGGER, T - TETRIS, C - CAT
choice /c:DTC "Введите D, T или C"
if errorlevel 3 goto cat
if errorlevel 2 goto tetris
digger
goto exit
:tetris
tetris
goto exit
:cat
cat
:exit
Всего комментариев 0