Команда CHOICE
Выводит пользователю заданную подсказку для выбора командного файла.  Ждет,  пока пользователь выберет из указанного  набора клавиш. Эту команду можно использовать только в командных файлах.
     CHOICE [/C[:]клавиши] [/N] [/S] [/T[:]c,nn] [текст]
Параметр "текст"  задает  текст,  который вы хотите выводить перед подсказкой. Вопросительный знак необходим только в том случае, если вы включаете в текст перед подсказкой символ /. Если вы не задаете текст, CHOICE выводит на экран только подсказку. 
Параметр /C[:]клавиши задает допустимые в подсказке клавиши. При выводе на экран клавиши будут  разделяться  запятыми,  заключаться в  квадратные  скобки ([]) и сопровождаться вопросительным знаком. Если вы не указываете  параметр /C,  CHOICE использует по умолчанию YN. Двоеточие (:) не обязательно. 
Параметр /N приводит к тому,  что CHOICE не выводит подсказку. Однако текст перед подсказкой выводится.  При задании /N указанные клавиши все равно будут доступны. 
/S приводит к различимости в CHOICE регистра символов.  Если параметр /S не задан,  то для любых заданных пользователем клавиш будет восприниматься как верхний, так и нижний регистр. 
Если задан  параметр /T[:]c,nn,  то команда CHOICE перед использованием заданной клавиши по умолчанию делает паузу в течении заданного числа секунд.  В /T указываются следующие значения: c определяет символ,  который спустя nn секунд будет задаваться  по умолчанию (этот символ должен быть в наборе символов,  заданном в параметре /C);  nn - задает продолжительность  паузы  в  секундах (допустимые значения лежат в диапазоне от 0 до 99 - если задается 0, то перед назначением по умолчанию будет пауза). 
Первая назначенная вами клавиша возвращает значение 1,  вторая -  2,  третья - 3 и т.д.  Если пользователь нажимает клавишу, отсутствующую в списке назначенных клавиш, то CHOICE дает предупреждающий звуковой сигнал (передает на консоль символ 07h). 
Если CHOICE обнаруживает  состояние  ошибки,  то  возвращает значение  255.  Если пользователь передает CTRL+BREAK или CTRL+C, CHOICE возвращает значение, равное 0. 
Например, если в командном файле вы указываете команду: 
     choice /c:ync
то пользователь видит следующее:
     [Y,N,C]?
     Если вы добавите:
     choice /c:ync Yes, No, or Cancel
то пользователю выводится:
     Yes, No, or Cancel [Y,N,C]?
     Если вы зададите команду:
     choice /c:ync /t:n,7
то пользователь видит на экране:
     [Y,N,C]?
Если по  истечении  7 секунд пользователь не нажмет клавишу, CHOICE выбирает N и возвращает значение ERRORLEVEL 2. При нажатии соответствующей  клавиши  до истечения 7 секунд CHOICE возвращает значение, соответствующее выбору пользователя. 
Назад | Содержание | Вперед