Microsoft DOS choice command
Allows for batch files and scripts to wait for the user to choose a set of choices.
The choice command is an external command and is available in the below Microsoft operating systems. Early versions of MS-DOS used choice.com as the external file. All versions of Windows use chocie.exe as the external file.
Windows Vista and later syntax
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
|/C choices||Specifies the list of choices to be created. Default list is "YN".|
|/N||Hides the list of choices in the prompt. The message before the prompt is displayed and the choices are still enabled.|
|/CS||Enables case-sensitive choices to be selected. By default, the utility is case-insensitive.|
|/T timeout||The number of seconds to pause before a default choice is made. Acceptable values are from 0 to 9999. If 0 is specified, there will be no pause and the default choice is selected.|
|/D choice||Specifies the default choice after nnnn seconds. Character must be in the set of choices specified by /C option and must also specify nnnn with /T.|
|/M text||Specifies the message to show before the prompt. If not specified, the utility displays only a prompt.|
The ERRORLEVEL environment variable is set to the index of the key that was selected from the set of choices. The first choice listed returns a value of 1, the second a value of 2, etc. If the user presses a key that is not a valid choice, the tool sounds a warning beep. If tool detects an error condition, it returns an ERRORLEVEL value of 255. If the user presses Ctrl+BREAK or Ctrl+C, the tool returns an ERRORLEVEL value of 0. When you use ERRORLEVEL parameters in a batch program, list them in decreasing order.
CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel."
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "Select a for option 1 and b for option 2."
CHOICE /C ab /N /M "Select a for option 1 and b for option 2."
Windows XP and earlier syntax
choice [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]
|/C[:]choices||Specifies allowable keys. Default is Y/N|
|/N||Do not display choices and "?" at end of prompt string.|
|/S||Treat choice keys as case-sensitive.|
|/T[:]c,nn||Default choice to c after nn seconds|
|text||Prompt string to display|
See our how to use choice and set in a batch file page for examples on this command.