Retornar

[DOS Help INICIO]

Avançar
   

CHOICE

Exibe uma mensagem de aviso especificada, efetua uma pausa para o usuário escolher entre um conjunto de teclas especificado e fornece um parâmetro ERRORLEVEL para um programa de lote. Este comando pode ser utilizado somente em programas em lote. 

Para maiores informações sobre o parâmetro ERRORLEVEL, consulte o comando <IF>

Sintaxe :

CHOICE [/C[:]teclas] [/N] [/S] [/T[:]c,nn] [texto] 

Parâmetros 
texto 
Especifica o texto a ser exibido antes de um aviso. Será  necessário inserir aspas somente se você incluir um caractere de opção (\) como parte do texto antes de um aviso. Se um texto não for especificado, CHOICE exibirá  somente um aviso. 

parâmetros 
/C[:]teclas 
Especifica as teclas permitidas no aviso. Quando exibidas, as teclas serão separadas por vírgulas, estarão entre colchetes ([]), e serão seguidas de um ponto de interrogação. Se a opção /C não for especificada, CHOICE utilizará  SN como padrão. Os dois pontos (:) são opcionais. 

/N 
Faz com que CHOICE não exiba o aviso. O texto antes do aviso, entretanto, ainda será exibido. Se você especificar a opção /N, as teclas especificadas ainda estarão válidas. 
/S Faz com que CHOICE considere a combinação de maiúsculas/minúsculas. Se a opção /S não for especificada, CHOICE aceitará  a letra maiúscula ou minúscula para qualquer uma destas teclas especificada pelo usuário. 

/T[:]c,nn 
Faz com que CHOICE efetue uma pausa um numero específico de segundos antes de voltar para uma tecla padrão especificada. Os valores para a opção /T são: c Especifica o caractere padrão que deve ser utilizado após nn segundos. O caractere deve constar no conjunto de parâmetros especificado na opção /C. 

nn 
Especifica o número de segundos para a pausa. Os valores aceitos estão entre 0 e 99. Se 0 for especificado, nenhuma pausa será efetuada antes da utilização do valor padrão. 

Exemplos :

O que será  visto pelo usuário quando você utilizar CHOICE em um arquivo de lote 

Se você utilizar a seguinte sintaxe em um arquivo de lote, 

choice /c:snc 

o usuário verá  a seguinte informação quando CHOICE for iniciado: 

[S,N,C]? 

Se você adicionar texto … sintaxe, 

choice /c:snc Sim, Não ou Continuar 

o usuário verá  a seguinte informação quando CHOICE for iniciado: 

Sim, Não ou Continuar [S,N,C]? 

O que será  visto pelo usuário se você omitir um aviso 

Se, como no exemplo a seguir, você utilizar a opção /N para omitir o aviso em um programa de lote, 

choice /n Sim, Não ou Continuar? 

o usuário verá somente o texto que você especificar quando CHOICE for iniciado: 

Sim, Não ou Continuar? 

O que será  visto pelo usuário se você utilizar a opção T 
Se você utilizar a sintaxe seguinte em um programa de lote, 

choice /c:snc /t:n,5 

o usuário verá  a seguinte informação quando CHOICE for iniciado: 

[S,N,C]? 

Se, após 5 segundos, o usuário não pressionar uma tecla, CHOICE escolherá  N e fornecerá  o valor 2 de ERRORLEVEL. Se o usuário pressionar uma tecla antes de 5 segundos, CHOICE fornecerá  o valor correspondente à escolha do usuário. 

Para que a opção da desfragmentarão da unidade C esteja disponível quando você inicializa o computador, adicione as seguintes linhas no arquivo 
AUTOEXEC.BAT: 

choice Defrag drive /ty,5 
if errorlevel 2 goto IgnoraDefrag 
defrag c: 
:IgnoraDefrag 

Se você pressionar N dentro de 5 segundos, DEFRAG não será  executado e CHOICE fornecerá  o valor 2 de ERRORLEVEL. Se você não pressionar N dentro de 5 segundos ou se escolher S, DEFRAG será  executado na unidade C. 

Utilizando CHOICE em um programa de lote 

O seguinte programa de lote demonstra como utilizar a opção CHOICE para a seleção de um destes três programas: MS-DOS Editor, Microsoft antivírus ou Microsoft Backup. 

Observe que as instruções IF ERRORLEVEL estão listadas em ordem decrescente. O MS-DOS considera a instrução IF como verdadeira se o parâmetro de ERRORLEVEL fornecido por CHOICE for maior que ou igual ao parâmetro especificado no comando IF. 

@echo off 
cls 
echo. 
echo A MS-DOS Editor 
echo B Microsoft Anti-Virus 
echo C Microsoft Backup 
echo. 
choice /c:abc Escolha uma opção 
if errorlevel 3 goto MSBackup 
if errorlevel 2 goto Msav 
if errorlevel 1 goto Edit 

:Edit 
edit 
goto Fim 

:Msav 
msav 
goto Fim 

:Msbackup 
msbackup 
goto Fim 

:Fim 

Observação 

Parâmetros para ERRORLEVEL 

A primeira tecla que você designar fornecer  o valor 1, a segunda o valor 2, a terceira o valor 3 e assim por diante. Se o usuário pressionar uma tecla que não esteja entre as teclas que você designou, CHOICE emitirá  um sinal de aviso (isto é enviará um caractere BEL, ou 07h, para o console). 

Se CHOICE detectar uma condição de erro, o valor de ERRORLEVEL 255 será  
fornecido. Se o usuário pressionar CTRL+BREAK ou CTRL+C, CHOICE fornecerá  o valor de ERRORLEVEL 0. 

Ao se utilizar parâmetros de ERRORLEVEL em um programa de lote, liste-os em ordem decrescente.

Retornar

Hosted by www.Geocities.ws

1