stringtranslate.com

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

В вычислительной технике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"]

Аргументы:

Флаги:

Microsoft Windows, ReactOS

CHOICE [/C [<Choice1><Choice2><…>]] [/N] [/CS] [/T <Timeout> /D <Choice>] [/M <"Text">]

Аргументы:

Флаги:

Пример

Пакетный файл ниже дает пользователю три варианта выбора. [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 .

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

Внешние ссылки