$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
Команда CHOICE используется для организации диалога с пользователем при выполнении командного файла и анализа введенных им данных. В различных версиях Windows может присутствовать в стандартной поставке или входить в состав дополнительных инструментов поддержки. При выполнении команды, на экран консоли выводится заданное сообщение и ожидается один из вариантов ответа пользователя . Формат командной строки CHOICE:
CHOICE [/C список] [/N] [/CS] [/T тайм-аут /D элемент] [/M текст]
Параметры командной строки CHOICE:
/C список - Задаваемый список выбираемых элементов (вариантов ответа ). Список по умолчанию - "YN" ( Да или Нет - Yes или No).
/N - Не отображать текстовое сообщение с вариантами ответа .
/CS - Case Sensitive - учитывать регистр символов в данных ввода пользователя. По умолчание в программе регистр символов не учитывается.
/T тайм-аут - Число секунд перед выбором элемента по умолчанию. Допустимыми являются значения от 0 до 9999. Если указан 0, отсутствует пауза перед выбором элемента по умолчанию.
/D элемент - Элемент, выбираемый по умолчанию, когда нет ответа пользователя через nnnn секунд. Символ должен присутствовать в наборе элементов в параметре /C; значение nnnn задается в параметре /T.
/M текст - Сообщение, отображаемое перед приглашением. Если не указано, программа выводит только приглашение.
/? - Вывод справки по использованию.
В CHOICE используется формирование значения кода возврата ERRORLEVEL, который зависит от того, какую клавишу нажал пользователь. Первый элемент в списке возвращает значение 1, второй - 2 и т.д. Если пользователь нажимает клавишу, не соответствующую допустимому выбору, подается звуковой сигнал. Если обнаруживается ошибка, возвращается значение ERRORLEVEL 255. Если нажимаются клавиши CTRL+BREAK или CTRL+C, программа возвращает значение ERRORLEVEL 0.
При обработке значений ERRORLEVEL в пакетном файле их следует перечислять по убыванию.
Примеры:
CHOICE /? - выдать справку по использованию команды
CHOICE /? | MORE - то же самое, но в постраничном режиме вывода справки на экран
CHOICE /T 10 /C ync /CS /D y /M "Сделайте выбор" - CHOICE выдает пользователю текстовое сообщение Сделайте выбор и ожидает выбора одного из заданных вариантов ответа (нажатия клавиш на клавиатуре) - y или n или c . Если ответ равен y - то ERRORLEVEL=1, если n - то ERRORLEVEL=2, если c -ERRORLEVEL=3 . Если пользователь за 10 секунд не нажал ни одной клавиши (/T 10), то выбирается ответ y ( параметр /D y) . При анализе ответа пользователя учитывается регистр символов ( /CS ) .
Если в текстовом сообщении, задаваемом ключом /M , имеются пробелы, то оно должно заключаться в двойные кавычки. Если используется текст на русском языке, то он должен быть в DOS-кодировке.
Команду CHOICE можно использовать в качестве средства организации паузы на определенное время :
CHOICE /T 88 /D Y - ждать ответа пользователя 88 секунд, и если его не будет - принять значение Y .
Данное описание команды CHOICE относится к версии choice.exe, распространяемой в составе дистрибутива Windows 7 . Некоторые параметры CHOICE могут отличаться в различных версиях программы. Так, например, максимальное время ожидания ответа пользователя , задаваемое параметром /T , в ранних реализациях choice.exe или choice.com составляло 99 секунд, а не 9999 , а вместо параметра /CS использовался параметр /S.