choice
Pide al usuario que seleccione un elemento de una lista de opciones de un solo carácter en un programa por lotes y, a continuación, devuelve el índice de la opción seleccionada. Si se usa sin parámetros, choice muestra las opciones predeterminadas Y y N.
Sintaxis
choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]
Parámetros
Parámetro | Descripción |
---|---|
/c <choice1><choice2><…> |
Especifica la lista de opciones que se van a crear. Las opciones válidas incluyen a-z, A-Z, 0-9 y caracteres ASCII extendidos (128-254). La lista predeterminada es YN, que se muestra como [Y,N]? . |
/n | Oculta la lista de opciones, aunque las opciones siguen habilitadas y el texto del mensaje (si se especifica por /m) todavía se muestra. |
/cs | Especifica que las opciones distinguen mayúsculas de minúsculas. De forma predeterminada, las opciones no distinguen mayúsculas de minúsculas. |
/t <timeout> |
Especifica el número de segundos que se van a pausar antes de usar la opción predeterminada especificada por /d. Los valores aceptables son de 0 a 9999. Si /t está establecido en 0, choice no se pausa antes de devolver la opción predeterminada. |
/d <choice> |
Especifica la opción predeterminada que se va a usar después de esperar el número de segundos especificados por /t. La opción predeterminada debe estar en la lista de opciones especificadas por /c. |
/m <text> |
Especifica un mensaje que se va a mostrar antes de la lista de opciones. Si no se especifica /m , solo se muestra el símbolo del sistema de la opción. |
/? | Muestra la ayuda en el símbolo del sistema. |
Comentarios
La variable de entorno ERRORLEVEL se establece en el índice de la clave que el usuario selecciona en la lista de opciones. La primera opción de la lista devuelve un valor de
1
, el segundo un valor de2
, etc. Si el usuario presiona una tecla que no es una opción válida, choice emite un sonido de advertencia.Si choice detecta una condición de error, devuelve un valor ERRORLEVEL de
255
. Si el usuario presiona CTRL+BREAK o CTRL+C, choice devuelve un valor ERRORLEVEL de0
.
Nota
Al usar valores ERRORLEVEL en un programa por lotes, debe enumerarlos en orden decreciente.
Ejemplos
Para presentar las opciones Y, N y C, escriba la siguiente línea en un archivo por lotes:
choice /c ync
Aparece el siguiente símbolo del sistema cuando el archivo por lotes ejecuta el comando choice:
[Y,N,C]?
Para ocultar las opciones Y, N y C, pero mostrar el texto Sí, No o Continuar, escriba la línea siguiente en un archivo por lotes:
choice /c ync /n /m "Yes, No, or Continue?"
Nota
Si usa el parámetro /n, pero no usa /m, no se le pedirá al usuario cuando choice esté esperando la entrada.
Para mostrar tanto el texto como las opciones usadas en los ejemplos anteriores, escriba la siguiente línea en un archivo por lotes:
choice /c ync /m "Yes, No, or Continue"
Para establecer un límite de tiempo de cinco segundos y especificar N como valor predeterminado, escriba la siguiente línea en un archivo por lotes:
choice /c ync /t 5 /d n
Nota
En este ejemplo, si el usuario no presiona una tecla en cinco segundos, choice selecciona N de forma predeterminada y devuelve un valor de error de 2
. De lo contrario, choice devuelve el valor correspondiente a la elección del usuario.