Condividi tramite


scelta

Chiede all'utente di selezionare un elemento da un elenco di scelte a caratteri singoli in un programma batch e quindi restituisce l'indice della scelta selezionata. Se usata senza parametri, scelta visualizza le opzioni predefinite Y e N.

Sintassi

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

Parametri

Parametro Descrizione
/c <choice1><choice2><…> Specifica l'elenco di scelte da creare. Le scelte valide includono caratteri a-z, A-Z, 0-9 e caratteri ASCII estesi (128-254). L'elenco predefinito è YN, visualizzato come [Y,N]?.
/n Nasconde l'elenco delle scelte, anche se le scelte sono ancora abilitate e il testo del messaggio (se specificato da /m) viene comunque visualizzato.
/Cs Specifica che le scelte fanno distinzione tra maiuscole e minuscole. Per impostazione predefinita, le scelte non fanno distinzione tra maiuscole e minuscole.
/t <timeout> Specifica il numero di secondi di pausa prima di usare la scelta predefinita specificata da /d. I valori accettabili sono compresi tra 0 e 9999. Se /t è impostato su 0, scelta non viene sospesa prima di restituire la scelta predefinita.
/d <choice> Specifica la scelta predefinita da usare dopo l'attesa del numero di secondi specificato da /t. La scelta predefinita deve essere nell'elenco di scelte specificate da /c.
/m <text> Specifica un messaggio da visualizzare prima dell'elenco di scelte. Se non viene specificato /m, viene visualizzato solo il prompt di scelta.
/? Visualizza la Guida al prompt dei comandi.

Osservazioni:

  • La variabile di ambiente ERRORLEVEL è impostata sull'indice della chiave selezionata dall'utente nell'elenco di scelte. La prima scelta nell'elenco restituisce un valore di 1, il secondo valore di 2e così via. Se l'utente preme un tasto che non è una scelta valida, scelta suona un segnale acustico.

  • Se scelta rileva una condizione di errore, restituisce un valore ERRORLEVEL di 255. Se l'utente preme CTRL+INTERR o CTRL+C, scelta restituisce un valore ERRORLEVEL di 0.

Nota

Quando si usano valori ERRORLEVEL in un programma batch, è necessario elencarli in ordine decrescente.

Esempi

Per presentare le scelte Y, Ne C, digitare la riga seguente in un file batch:

choice /c ync

Il prompt seguente viene visualizzato quando il file batch esegue il comando scelta:

[Y,N,C]?

Per nascondere le scelte Y, Ne C, ma visualizzare il testo , Noo Continue, digitare la riga seguente in un file batch:

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

Nota

Se si usa il parametro /n, ma non si usa /m, all'utente non viene richiesto quando scelta è in attesa di input.

Per visualizzare sia il testo che le opzioni usate negli esempi precedenti, digitare la riga seguente in un file batch:

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

Per impostare un limite di tempo di cinque secondi e specificare N come valore predefinito, digitare la riga seguente in un file batch:

choice /c ync /t 5 /d n

Nota

In questo esempio, se l'utente non preme un tasto entro cinque secondi, scelta seleziona N per impostazione predefinita e restituisce un valore di errore di 2. In caso contrario, scelta restituisce il valore corrispondente alla scelta dell'utente.