Вернуться   Компьютерный форум > Блоги > Базаров
Оценить эту запись

Создание диалоговых командных файлов

Запись от Базаров размещена 07.01.2015 в 01:44

Иногда в командном файле нужно выполнить различные действия по выбору пользователя. Это можно сделать с помощью программы Choice (она содержится в MS DOS, начиная с версии 6.0).
Формат вызова
CHOICE [/C:список-символов] [/T:символ,число-секунд] сообщение
Параметры
/C:список-символов - указывает допустимые символы, которые может ввести пользователь в ответ на сообщение. Если данный параметр не указан, допустимые символы - это Y и N;
/T:символ,число-секунд - если этот параметр указан, то в случае, когда пользователь по истечении заданного параметром число-секунд времени не нажал ни на одну клавишу, то принимается ответ символ;
сообщение - указывает сообщение, выводимое на экран.
Замечания. 1. Если вы желаете, чтобы при вводе символов различались прописные и строчные буквы, укажите в команде параметр /S.
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
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
Следует заметить, что проверки значения переменной ERRORLEVEL следует располагать в порядке убывания значений: сначала проверять на самое большое значение, затем - на следующее по убыванию и т.д.
Размещено в Без категории
Просмотров 841 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 12:01. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.