выбор (команда)
Разработчик(и) | Microsoft , Novell , Datalight , Джим Холл , участники ReactOS |
---|---|
Первоначальный выпуск | 1993 г., 30–31 год назад. |
Операционная система | ДОС , Windows , РеактОС |
Платформа | Кросс-платформенный |
Тип | Команда |
Лицензия | MS-DOS, PC DOS, DR-DOS, Windows, PTS-DOS: собственное коммерческое программное обеспечение. FreeDOS, ReactOS: GPL v2. |
Веб-сайт | документы |
В вычислениях , 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
.
The choice
Команда была портирована на OS/2 , Rexx и Perl . [6] Он также доступен в Datalight ROM-DOS , [7] FreeDOS , [8] ПТС-ДОС , [9] и РеактОС . [10] Версия FreeDOS была разработана Джимом Холлом и распространяется под лицензией GPL v2 . [11]
Использование
[ редактировать ]Команда возвращает выбранный вариант в виде кода выхода , который равен индексу ключа, который пользователь выбирает из списка вариантов. Первый вариант в списке возвращает значение 1, второй — значение 2 и т. д. Если нажата клавиша, выбор которой не является допустимым, команда прозвучит предупреждающий звуковой сигнал. Если обнаружено состояние ошибки, будет возвращено значение кода выхода 255. Значение кода выхода 0 будет возвращено, если пользователь нажмет CTRL+ BREAK или CTRL+ C. Выбор отображает варианты по умолчанию Y и N, если они используются без параметров. [12]
Синтаксис
[ редактировать ]ПРИНАДЛЕЖАЩИЙ
[ редактировать ]CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] ["text"]
Аргументы:
/C[:]choices
Указывает допустимые ключи. По умолчанию установлено «ДА»./T[:]c,nn
По умолчанию это вариант «c» после «nn» секунд.text
Указывает отображаемую строку приглашения. (Кавычки необязательны).
Флаги:
/N
Указывает, что варианты выбора и "?" не отображаются. в конце строки приглашения./S
Указывает, что ключи выбора следует обрабатывать с учетом регистра.
Microsoft Windows, РеактОС.
[ редактировать ]CHOICE [/C [<Choice1><Choice2><…>]] [/N] [/CS] [/T <Timeout> /D <Choice>] [/M <"Text">]
Аргументы:
/C[:]choices
Указывает допустимые ключи. По умолчанию установлено «ДА». (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 off
@CHOICE /C:123
IF ERRORLEVEL 3 GOTO three
IF ERRORLEVEL 2 GOTO two
IF ERRORLEVEL 1 GOTO one
GOTO end
:one
ECHO You have pressed "1"!
GOTO end
:two
ECHO You have pressed "2"!
GOTO end
:three
ECHO You have pressed "3"!
:end
@PAUSE
- Обратите внимание, что в примере используется синтаксис DOS. Этот пример требует небольших изменений, прежде чем он будет применим непосредственно к версиям Windows.
CHOICE
команда. - Обратите внимание, что команда IF при проверке ERRORLEVEL сравнивает число и определяет, равен ли ERRORLEVEL этому числу или превышает его. По этой причине сравнения IF ERRORLEVEL следует выполнять в порядке убывания.
- Обратите внимание: если пользователь нажмет Control-C, чтобы выйти из CHOICE, а затем N, программа продолжится. Требуется первый «Goto end».
См. также
[ редактировать ]- Список команд DOS
select
в Баш
Ссылки
[ редактировать ]- ^ Джамса, Крис А. (1993), DOS: Полный справочник , Осборн МакГроу-Хилл, с. 206, ISBN 0078819040 .
- ^ «Команда выбора командной строки MS-DOS и Windows» . www.computerhope.com .
- ^ «Справочник по командной строке Microsoft Windows XP, AZ» . Майкрософт .
- ^ «Выбор — Принять пользовательский ввод — Windows CMD — SS64.com» . ss64.com .
- ^ «Пусть команда «Выбор» работает даже в Windows 7» . Техреспублика . 13 октября 2023 г.
- ^ «Пакетные файлы — команда ВЫБОР» . www.robvanderwoude.com .
- ^ «Руководство пользователя Datalight ROM-DOS» (PDF) . www.datalight.com .
- ^ «ibiblio.org Группа FreeDOS — База FreeDOS» . www.ibiblio.org .
- ^ «Руководство пользователя PTS-DOS 2000 Pro» (PDF) . Буггинген, Германия: Paragon Technology GmbH . 1999. Архивировано (PDF) из оригинала 12 мая 2018 г. Проверено 12 мая 2018 г.
- ^ «реактос/реактос» . Гитхаб . 27 октября 2022 г.
- ^ «Пакет ibiblio.org FreeDOS — выбор (база FreeDOS)» . www.ibiblio.org .
- ^ «Статья Microsoft TechNet Choice» . 31 августа 2016 г.
- ^ «Справка и поддержка пакетных файлов» . www.computerhope.com .
Дальнейшее чтение
[ редактировать ]- Купер, Джим (2001). Специальное издание с использованием MS-DOS 6.22, третье издание . Издательство Que . ISBN 978-0789725738 .
- Станек, Уильям Р. (2008). Карманный консультант администратора командной строки Windows, 2-е издание . Майкрософт Пресс . ISBN 978-0735622623 .