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, РеактОС.

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

Аргументы:

Флаги:

Пример

Приведенный ниже пакетный файл предоставляет пользователю три варианта выбора. [13] Пользователь направляется в зависимости от введенных им данных путем оценки кода выхода с помощью команды IF ERRORLEVEL(которая проверяет «больше или равно»). Выбранный вариант затем выводится на экран с помощью этой ECHOкоманды.

@ ECHO off @ CHOICE /C:123 IF  ERRORLEVEL  3  ПЕРЕЙДИТЕ  К трем IF  ERRORLEVEL  2  ПЕРЕЙДИТЕ  к двум IF  ERRORLEVEL  1  ПЕРЕЙДИТЕ к  одному ПЕРЕЙДИТЕ  конец : одно ECHO Вы нажали "1" !GOTO  конец : два ЭХО Вы нажали «2» !GOTO  конец : три ЭХО Вы нажали «3» !: конец @ ПАУЗА
Обратите внимание, что в примере используется синтаксис DOS. Этот пример требует небольших изменений, прежде чем он будет применим непосредственно к версиям CHOICEкоманды для Windows.
Обратите внимание, что команда IF при проверке ERRORLEVEL сравнивает число и определяет, равен ли ERRORLEVEL этому числу или превышает его. По этой причине сравнения IF ERRORLEVEL следует выполнять в порядке убывания.
Обратите внимание: если пользователь нажмет Control-C, чтобы выйти из CHOICE, а затем N, программа продолжится. Требуется первый «Goto end».

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

Рекомендации

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

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

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