Местонахождение

Windows\System32

Описание

Предложение пользователю для выбора

Вы можете запретить завершение сценария до тех пор, пока пользователь не нажмет какую-либо клавишу. Для этого применяется программа choice.exe. Например, при использовании команды Choice /M "Select Y for exit" /N /C Y сценарий не завершится до тех пор, пока пользователь не нажмет на кнопку Y.

Иногда бывает необходимо приостановить работу сценария, пока пользователь не нажмет какую-либо клавишу. Для этого используется программа choice.exe. Например, при использовании команды Choice /M "Select Y for exit" /N /C Y сценарий не завершится до тех пор, пока пользователь не нажмет на кнопку Y.

Очень интересной особенностью программы командной строки choice.exe является то, что она позволяет определить нажатую пользователем клавишу. При этом нажатая клавиша помещается в переменную среды %ERRORLEVEL%. Переменная среды ERRORLEVEL получает значение индекса клавиши, соответствующей выбранному элементу. Первый элемент в списке возвращает значение 1, второй - 2 и т.д. Если пользователь нажимает клавишу, не соответствующую допустимому выбору, подается звуковой сигнал. Если обнаруживается ошибка, возвращается значение ERRORLEVEL 255. Если нажимаются клавиши CTRL+BREAK или CTRL+C, программа возвращает значение ERRORLEVEL 0.

Синтаксис

CHOICE [/C список] [/N] [/CS] [/T тайм-аут /D элемент] [/M текст]

Параметры

/C список
Создаваемый список выбираемых элементов. Список по умолчанию "YN"
/N
Скрытие списка элементов в приглашении. Перед приглашением выводится сообщение и элементы остаются доступными для выбора
/CS
Включение учета регистра при выборе элементов. По умолчание в программе регистр символов не учитывается
/T тайм-аут
Число секунд перед выбором элемента по умолчанию. Допустимыми являются значения от 0 до 9999. Если указан 0, отсутствует пауза перед выбором элемента по умолчанию
/D элемент
Элемент, выбираемый по умолчанию через nnnn секунд. Символ должен присутствовать в наборе элементов в параметре /C; значение nnnn задается в параметре /T.
/M текст
Сообщение, отображаемое перед приглашением. Если не указано, программа выводит только приглашение
/?
Вывод справки по использованию

Пример

   CHOICE /?
   CHOICE /C YNC /M "Y - Да, N - Нет, C - Отмена."
   CHOICE /T 10 /C ync /CS /D y
   CHOICE /C ab /M "a" для выбора параметра 1 и "b" для выбора параметра 2.
   CHOICE /C ab /N /M "a" для выбора параметра 1 и "b" для выбора параметра 2.

Создадим простой сценарий

echo off
rem chcp 866
choice /M "Type number from 1 to 6" /N /C 123456
echo you press key %errorlevel%
pause
Реклама