выбор (команда)

выбор
Разработчик(и)Microsoft , Novell , Datalight , Джим Холл , Участники ReactOS
Первоначальный выпуск1993, 30–31 год назад
Операционная системаДОС , Windows , ReactOS
ПлатформаКроссплатформенный
ТипКоманда
ЛицензияMS-DOS, PC DOS, DR-DOS, Windows, PTS-DOS: собственное коммерческое программное обеспечение
FreeDOS, ReactOS: GPL v2.
Веб-сайтdocs.microsoft.com/en-us/windows-server/administration/windows-commands/choice

В вычислительной технике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Указывает, что ключи выбора следует обрабатывать с учетом регистра.

Microsoft Windows, ReactOS

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" ! : конец @ ПАУЗА
Обратите внимание, что в примере используется синтаксис DOS. Этот пример требует небольших корректировок, прежде чем его можно будет напрямую применить к версиям CHOICEкоманды для Windows.
Обратите внимание, что команда IF при проверке ERRORLEVEL сравнивает число и сопоставляет, если ERRORLEVEL равен или больше этого числа. Из-за этого сравнения IF ERRORLEVEL должны выполняться в порядке убывания.
Обратите внимание, что если пользователь нажмет Control-C, чтобы выйти из CHOICE, а затем N, то программа продолжит работу. Требуется первый "Goto end".

Смотрите также

Ссылки

  1. ^ Джамса, Крис А. (1993), DOS: Полный справочник, Osborne McGraw-Hill, стр. 206, ISBN 0078819040.
  2. ^ "Выбор команды командной строки MS-DOS и Windows". www.computerhope.com .
  3. ^ "Справочник командной строки Microsoft Windows XP от AZ". Microsoft .
  4. ^ "Выбор - Принять ввод пользователя - Windows CMD - SS64.com". ss64.com .
  5. ^ «Заставьте команду «Выбор» работать даже в Windows 7». TechRepublic . 13 октября 2023 г.
  6. ^ "Пакетные файлы - команда CHOICE". www.robvanderwoude.com .
  7. ^ "Руководство пользователя Datalight ROM-DOS" (PDF) . www.datalight.com .
  8. ^ "ibiblio.org Группа FreeDOS - База FreeDOS" . www.ibiblio.org .
  9. ^ "PTS-DOS 2000 Pro User Manual" (PDF) . Буггинген, Германия: Paragon Technology GmbH . 1999. Архивировано (PDF) из оригинала 2018-05-12 . Получено 2018-05-12 .
  10. ^ "reactos/reactos". GitHub . 27 октября 2022 г.
  11. ^ "Пакет FreeDOS ibiblio.org -- выбор (FreeDOS Base)". www.ibiblio.org .
  12. ^ "Статья Microsoft TechNet Choice". 31 августа 2016 г.
  13. ^ «Справка и поддержка пакетных файлов». www.computerhope.com .

Дальнейшее чтение

  • Купер, Джим (2001). Специальное издание с использованием MS-DOS 6.22, третье издание . Que Publishing . ISBN 978-0789725738.
  • Станек, Уильям Р. (2008). Карманный консультант администратора командной строки Windows, 2-е издание . Microsoft Press . ISBN 978-0735622623.
  • Статья Microsoft TechNet Choice
Взято с "https://en.wikipedia.org/w/index.php?title=Выбор_(команда)&oldid=1238763134"