opção

Solicita que o usuário selecione um item de uma lista de opções de caractere único em um programa em lotes e, em seguida, retorna o índice da escolha selecionada. Se usado sem parâmetros, opção exibirá as opções padrão S e N.

Sintaxe

choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <timeout> /d <choice>] [/m <text>]

Parâmetros

Parâmetro Descrição
/c <choice1><choice2><…> Especifica a lista de opções a serem criadas. As opções válidas incluem a-z, A-Z, 0-9 e caracteres ASCII estendidos (128-254). A lista padrão é SN, que é exibida como [Y,N]?.
/n Oculta a lista de opções, embora as opções ainda estejam habilitadas e o texto da mensagem (se especificado por /m) ainda seja exibido.
/cs Especifica que as opções diferenciam maiúsculas de minúsculas. Por padrão, as opções não diferenciam maiúsculas de minúsculas.
/t <timeout> Especifica o número de segundos a serem pausados antes de usar a opção padrão especificada por /d. Os valores aceitáveis são de 0 a 9999. Se /t estiver definido como 0, a opção não pausará antes de retornar a opção padrão.
/d <choice> Especifica a opção padrão a ser usada depois de aguardar o número de segundos especificado por /t. A opção padrão deve estar na lista de opções especificadas por /c.
/m <text> Especifica uma mensagem a ser exibida antes da lista de opções. Se /m não for especificado, somente o prompt de opção será exibido.
/? Exibe a ajuda no prompt de comando.

Comentários

  • A variável de ambiente ERRORLEVEL é definida como o índice da chave que o usuário seleciona na lista de opções. A primeira opção na lista retorna um valor de 1, o segundo um valor de 2 e assim por diante. Se o usuário pressionar uma tecla que não é uma opção válida, a opção soará um aviso sonoro.

  • Se a opção detectar uma condição de erro, ela retornará um valor ERRORLEVEL de 255. Se o usuário pressionar CTRL+BREAK ou CTRL+C, a opção retornará um valor ERRORLEVEL de 0.

Observação

Ao usar valores ERRORLEVEL em um programa em lotes, você deve listá-los em ordem decrescente.

Exemplos

Para apresentar as opções S, N e C, digite a seguinte linha em um arquivo em lote:

choice /c ync

O seguinte prompt é exibido quando o arquivo em lote executa o comando de opção :

[Y,N,C]?

Para ocultar as opções S, N e C, mas exibir o texto Sim, Não ou Continuar, digite a seguinte linha em um arquivo em lote:

choice /c ync /n /m "Yes, No, or Continue?"

Observação

Se usar o parâmetro /n, mas não usar /m, o usuário não será solicitado quando a opção estiver aguardando a entrada.

Para mostrar o texto e as opções usadas nos exemplos anteriores, digite a seguinte linha em um arquivo em lote:

choice /c ync /m "Yes, No, or Continue"

Para definir um limite de tempo de cinco segundos e especificar N como o valor padrão, digite a seguinte linha em um arquivo em lote:

choice /c ync /t 5 /d n

Observação

Neste exemplo, se o usuário não pressionar uma tecla dentro de cinco segundos, a opção selecionará N por padrão e retornará um valor de erro de 2. Caso contrário, a opção retornará o valor correspondente à escolha do usuário.