Error DataBase-One Place all Solutions Forums Blog Glossary    Contact Us
Search  
   
Browse by Category
Error DataBase-One Place all Solutions .: Operating Systems .: Windows Operating Systems .: MS DOS .: How to Accept user input to a batch file using CHOICE.EXE (Resource KIT)

How to Accept user input to a batch file using CHOICE.EXE (Resource KIT)

Accept user input to a batch file.

Choice allows single key-presses to be captured from the keyboard.

Syntax
    CHOICE [/C[:]choiceKeys] [/N] [/S] [/T[:]k,nn] [text]

Key
   /C[:]choiceKeys : One or more keys the user can press. Default is YN
   /N              : Do not display choiceKeys at end of prompt string.
   /S              : case Sensitive.
   /T[:]k,dd       : Default the choice to k after dd seconds
   text            : Message string to display the choices available

The Windows 2003 version has some slight differences:

    CHOICE [/c [choiceKeys]] [/N] [/CS] [/t Timeout /d Choice] [/m Text]

key
   /C[:]choiceKeys : One or more keys the user can press. Default is YN
   /N              : Do not display choiceKeys at end of prompt string.
   /CS             : Case Sensitive.
   /T dd           : Timeout in dd seconds
   /d choiceKey    : Choice made on Timeout
   /m text         : Message string to describe the choices available

ERRORLEVEL will return the numerical offset of choiceKeys.

Availability
Choice.com was originally supplied on the Windows 95 install CD, however there are some issues with this version under NT - multiple concurrent invocations of CHOICE will clobber each other. CHOICE.com will also burn a lot of CPU's when in a wait state.
The NT and 2000 Resource Kits contain CHOICE.EXE which behaves a lot better.
In Windows 2003 CHOICE became a built-in command so it is no longer in the resource kit.

Examples:

CHOICE /C:FH /M select [F] Floppy or [H] Hard drive
IF errorlevel 2 goto s_hard
IF errorlevel 1 goto s_floppy


Note the order of the IF statements above, IF errorlevel 1 will return TRUE for an errorlevel of 2

CHOICE can be used to set a specific %errorlevel%
for example to set the %errorlevel% to 6 :
ECHO 6| CHOICE /C:123456 /N >NUL


How helpful was this article to you?

Related Articles

article How to Batch process multiple files using FORFILES.exe Tool (Resource Kit + update)
Batch process multiple files Syntax...

(No rating)  3-9-2008    Views: 211   
article How to log a user OFF using LOGOFF.exe command (Resource Kit)
Log a user off. Syntax LOGOFF...

(No rating)  3-9-2008    Views: 134   
article create batch file to stop and restart application and services
To create a bacth file that will...

(No rating)  2-14-2008    Views: 314   

User Comments

Add Comment
No comments have been posted.