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 de2
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 de0
.
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.