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 de 2, 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 de 0.

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 , 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.