В вычислительной технике — choice
это команда , которая позволяет пакетным файлам предлагать пользователю выбрать один элемент из набора односимвольных вариантов. [1] Она доступна в ряде оболочек командной строки операционных систем .
Команда была впервые представлена как внешняя команда (с именами файлов CHOICE.COM или CHOICE.EXE) в MS-DOS 6.0. [2] Она включена в Novell DOS 7 и IBM PC DOS 7.0, а также доступна из командной строки оболочки некоторых версий Microsoft Windows , но не в Windows 2000 и Windows XP . [3] Впервые она была доступна для Windows в Windows XP Resource Kit . [4] Она была повторно представлена в Windows Server 2003 и присутствует в более поздних версиях. [5]
Начиная с Windows 2000, SET
команда имеет схожую функциональность с использованием /P
аргумента командной строки . Однако эта команда требует дополнительного нажатия клавиши (клавиши ENTER), что не требуется в choice
.
Команда choice
была портирована на OS/2 , Rexx и Perl . [6] Она также доступна в Datalight ROM-DOS , [7] FreeDOS , [8] PTS-DOS , [9] и ReactOS . [10] Версия FreeDOS была разработана Джимом Холлом и лицензирована по GPL v2 . [11]
Команда возвращает выбранный выбор как код выхода , который устанавливается на индекс клавиши, выбранной пользователем из списка вариантов. Первый выбор в списке возвращает значение 1, второй — значение 2 и т. д. Если нажата клавиша, которая не является допустимым выбором, команда издаст предупреждающий звуковой сигнал. Если обнаружено состояние ошибки, будет возвращено значение кода выхода 255. Значение кода выхода 0 будет возвращено, если пользователь нажмет CTRL+ или + . Выбор отображает варианты по умолчанию Y и N, если используется без параметров. [12]BREAKCTRLC
CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] ["text"]
Аргументы:
/C[:]choices
Указывает допустимые ключи. По умолчанию "YN"./T[:]c,nn
По умолчанию через «nn» секунд выбирается вариант «c».text
Указывает строку подсказки для отображения. (Кавычки необязательны).Флаги:
/N
Указывает, что не нужно отображать варианты выбора и «?» в конце строки приглашения./S
Указывает, что ключи выбора следует обрабатывать с учетом регистра.CHOICE [/C [<Choice1><Choice2><…>]] [/N] [/CS] [/T <Timeout> /D <Choice>] [/M <"Text">]
Аргументы:
/C[:]choices
Указывает допустимые ключи. По умолчанию "YN". (Microsoft Windows ограничивает допустимые ключи выбора до az, AZ, 0-9 и значений ASCII от 128 до 254)/T[:]nn
Это выбор по умолчанию /D после "nn" секунд. Необходимо указать с параметром по умолчанию /D./D[:]c
По умолчанию выбран вариант «c»./M text
Указывает строку подсказки для отображения.Флаги:
/N
Указывает, что не нужно отображать варианты выбора и «?» в конце строки приглашения./CS
Указывает, что ключи выбора следует обрабатывать с учетом регистра.Пакетный файл ниже дает пользователю три варианта выбора. [13]
Пользователь направляется в зависимости от своего ввода, оценивая код выхода с помощью IF ERRORLEVEL
команды (которая проверяет на «больше или равно»). Выбранный вариант затем выводится на экран с помощью ECHO
команды.
@ ECHO выкл @ ВЫБОР /C:123 IF ERRORLEVEL 3 GOTO три IF ERRORLEVEL 2 GOTO два IF ERRORLEVEL 1 GOTO один GOTO конец : один ECHO Вы нажали "1" ! GOTO конец : два ECHO Вы нажали "2" ! GOTO конец : три ECHO Вы нажали "3" ! : конец @ ПАУЗА
CHOICE
команды для Windows.select
в баше