En informática , choice
es un comando que permite que los archivos por lotes soliciten al usuario que seleccione un elemento de un conjunto de opciones de un solo carácter. [1] Está disponible en varios shells de línea de comandos del sistema operativo .
Desarrollador (es) | Colaboradores de Microsoft , Novell , Datalight , Jim Hall , ReactOS |
---|---|
Versión inicial | 1993, hace 27 a 28 años |
Sistema operativo | DOS , Windows , ReactOS |
Plataforma | Multiplataforma |
Tipo | Mando |
Licencia | MS-DOS, PC DOS, DR-DOS, Windows, PTS-DOS: software comercial patentado FreeDOS, ReactOS: GPL v2 |
Sitio web | docs |
Historia
El comando se introdujo por primera vez como un comando externo (con los nombres de archivo CHOICE.COM o CHOICE.EXE) con MS-DOS 6.0. [2] Se incluye en Novell DOS 7 e IBM PC DOS 7.0, y también está disponible en el shell de línea de comandos de algunas versiones de Microsoft Windows , pero no en Windows 2000 y Windows XP . [3] Primero estuvo disponible para Windows en el Kit de recursos de Windows XP . [4] Se ha reintroducido en Windows Server 2003 y está presente en versiones posteriores. [5]
A partir de Windows 2000, el SET
comando tiene una funcionalidad similar mediante el /P
argumento de la línea de comandos . Sin embargo, este comando requiere una pulsación de tecla adicional (presionando la tecla ENTER), que no es requerida por choice
.
El choice
comando se ha portado a OS / 2 , Rexx y Perl . [6] También está disponible en Datalight ROM-DOS , [7] FreeDOS , [8] PTS-DOS , [9] y ReactOS . [10] La versión FreeDOS fue desarrollada por Jim Hall y tiene la licencia GPL v2 . [11]
Uso
El comando devuelve la opción seleccionada como un código de salida que se establece en el índice de la clave que el usuario selecciona de la lista de opciones. La primera opción de la lista devuelve un valor de 1, la segunda un valor de 2 y así sucesivamente. Si se presiona una tecla que no es una opción válida, el comando emitirá un pitido de advertencia. Si se detecta una condición de error, se devolverá un valor de código de salida de 255. Se devolverá un valor de código de salida de 0 si el usuario presiona CTRL+ BREAKo CTRL+ C. Choice muestra las opciones predeterminadas Y y N si se utilizan sin parámetros. [12]
Sintaxis
DOS
CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] ["text"]
Argumentos:
/C[:]choices
Especifica las claves permitidas. El valor predeterminado es "YN"./T[:]c,nn
Esta opción predeterminada es "c" después de "nn" segundos.text
Especifica la cadena de solicitud que se mostrará. (Las cotizaciones son opcionales).
Banderas:
/N
Especifica que no se muestren las opciones y "?" al final de la cadena de solicitud./S
Especifica que las claves de elección deben tratarse como sensibles a mayúsculas y minúsculas.
Microsoft Windows, ReactOS
CHOICE [/C [
Argumentos:
/C[:]choices
Especifica las claves permitidas. El valor predeterminado es "YN". (Microsoft Windows restringe las claves de elección válidas a az, AZ, 0-9 y valores ASCII de 128 a 254)/T[:]nn
Esta opción predeterminada es / D después de "nn" segundos. Debe especificarse con el valor predeterminado / D./D[:]c
Esta opción predeterminada es 'c'./M text
Especifica la cadena de solicitud que se mostrará.
Banderas:
/N
Especifica que no se muestren las opciones y "?" al final de la cadena de solicitud./CS
Especifica que las claves de elección deben tratarse como sensibles a mayúsculas y minúsculas.
Ejemplo
El archivo por lotes a continuación le da al usuario tres opciones. [13] El usuario es dirigido dependiendo de su entrada evaluando el código de salida usando el IF ERRORLEVEL
comando (que prueba en "mayor o igual"). A continuación, la opción seleccionada se imprime en la pantalla mediante el ECHO
comando.
@ ECHO desactivado @ CHOICE / C: 123 IF ERRORLEVEL 3 GOTO tres IF ERRORLEVEL 2 GOTO two IF ERRORLEVEL 1 GOTO one GOTO end : one ECHO ¡Ha pulsado "1" !GOTO final : dos ECHO ¡Ha pulsado "2" !GOTO final : tres ECHO ¡Ha pulsado "3" !: fin @ PAUSA
- Tenga en cuenta que el ejemplo utiliza la sintaxis de DOS. Este ejemplo requiere pequeños ajustes antes de que se aplique directamente a las versiones de Windows del
CHOICE
comando. - Tenga en cuenta que el comando IF, al verificar ERRORLEVEL, compara el número y coincide si ERRORLEVEL es igual o mayor que ese número. Debido a esto, las comparaciones IF ERRORLEVEL deben realizarse en orden decreciente.
- Tenga en cuenta que si el usuario presiona Control-C para salir de ELECCIÓN seguido de N, el programa continuará. Se necesita el primer "Goto end".
Ver también
- Lista de comandos de DOS
Referencias
- ^ Jamsa, Kris A. (1993), DOS: La referencia completa , Osborne McGraw-Hill, p. 206, ISBN 0078819040.
- ^ "Comando de elección de línea de comandos de MS-DOS y Windows" . www.computerhope.com .
- ^ "Referencia AZ de la línea de comandos de Microsoft Windows XP" .
- ^ "Elección - Aceptar entrada de usuario - CMD de Windows - SS64.com" . ss64.com .
- ^ "Haga que el comando Elección funcione para usted incluso en Windows 7" . TechRepublic .
- ^ "Archivos por lotes - El comando CHOICE" . www.robvanderwoude.com .
- ^ "Guía del usuario de Datalight ROM-DOS" (PDF) . www.datalight.com .
- ^ "ibiblio.org FreeDOS Group - FreeDOS Base" . www.ibiblio.org .
- ^ "Manual de usuario de PTS-DOS 2000 Pro" (PDF) . Buggingen, Alemania: Paragon Technology GmbH . 1999. Archivado (PDF) desde el original el 12 de mayo de 2018 . Consultado el 12 de mayo de 2018 .
- ^ "reactos / reactos" . GitHub .
- ^ "Paquete FreeDOS ibiblio.org - opción (FreeDOS Base)" . www.ibiblio.org .
- ^ "Artículo de Microsoft TechNet Choice" .
- ^ "Ayuda y soporte técnico de archivos por lotes" . www.computerhope.com .
Otras lecturas
- Cooper, Jim (2001). Edición especial con MS-DOS 6.22, tercera edición . Que Publishing . ISBN 978-0789725738.
- Stanek, William R. (2008). Consultor de bolsillo del administrador de la línea de comandos de Windows, 2.ª edición . Microsoft Press . ISBN 978-0735622623.
enlaces externos
- Artículo de Microsoft TechNet Choice