------------------------ MS-DOS v6.22 Help: Choice ------------------------- <Notes> <Examples> <Index> ---------------------------------------------------------------------------- CHOICE Prompts the user to make a choice in a batch program. Displays a specified prompt and pauses for the user to choose from among a specified set of keys. You can use this command only in batch programs. For more information on the ERRORLEVEL parameter, see <CHOICE--Note> and the <IF> command. Syntax CHOICE [/C[:]keys] [/N] [/S] [/T[:]c,nn] [text] Parameters text Specifies text you want to be displayed before the prompt. Quotation marks are necessary only if you include a switch character (/) as part of the text before the prompt. If you don't specify text, CHOICE displays only a prompt. Switches /C[:]keys Specifies allowable keys in the prompt. When displayed, the keys will be separated by commas, will appear in brackets ([]), and will be followed by a question mark. If you don't specify the /C switch, CHOICE uses YN as the default. The colon (:) is optional. /N Causes CHOICE not to display the prompt. The text before the prompt is still displayed, however. If you specify the /N switch, the specified keys are still valid. /S Causes CHOICE to be case sensitive. If the /S switch is not specified, CHOICE will accept either upper or lower case for any of the keys that the user specifies. /T[:]c,nn Causes CHOICE to pause for a specified number of seconds before defaulting to a specified key. The values for the /T switch are as follows: c Specifies the character to default to after nn seconds. The character must be in the set of choices specified in the /C switch. nn Specifies the number of seconds to pause. Acceptable values are from 0 to 99. If 0 is specified, there will be no pause before defaulting. *** <Syntax> <Examples> ---------------------------------------------------------------------------- CHOICE--Note ERRORLEVEL parameters The first key you assign returns a value of 1, the second a value of 2, the third a value of 3, and so on. If the user presses a key that is not among the keys you assigned, CHOICE sounds a warning beep (that is, it sends a BEL, or 07h, character to the console). If CHOICE detects an error condition, it returns an ERRORLEVEL value of 255. If the user presses CTRL+BREAK or CTRL+C, CHOICE returns an ERRORLEVEL value of 0. When you use ERRORLEVEL parameters in a batch program, list them in decreasing order. *** <Syntax> <Notes> ---------------------------------------------------------------------------- CHOICE--Examples What the user sees when you use CHOICE in a batch file If you use the following syntax in a batch file, choice /c:ync the user sees the following when CHOICE is started: [Y,N,C]? If you add text to the syntax, choice /c:ync Yes, No, or Continue the user sees the following when CHOICE is started: Yes, No, or Continue [Y,N,C]? What the user sees if you leave out a prompt If, as in the following example, you use the /N switch to leave out the prompt in a batch program, choice /n Yes, No, or Continue? the user sees only the text you specified when CHOICE is started: Yes, No, or Continue? What the user sees if you use the T switch If you use the following syntax in a batch program, choice /c:ync /t:n,5 the user sees the following when CHOICE is started: [Y,N,C]? If, after 5 seconds, the user hasn't pressed a key, CHOICE chooses N and returns an ERRORLEVEL value of 2. If the user presses a key before 5 seconds, CHOICE returns the value corresponding to the user's choice. To have the option of defragmenting drive C when you start your computer, you could add the following lines to your AUTOEXEC.BAT file: choice Defrag drive /ty,5 if errorlevel 2 goto SkipDefrag defrag c: :SkipDefrag If you press N within 5 seconds, DEFRAG will not run and CHOICE returns an ERRORLEVEL value of 2. If you do not press N within 5 seconds, or if you choose Y, DEFRAG is run on drive C. Using CHOICE in a batch program The following batch program demonstrates using the CHOICE option to select one of three programs: MS-DOS Editor, Microsoft Anti-Virus, or Microsoft Backup. Notice that the IF ERRORLEVEL statements are listed in decreasing order. MS-DOS will consider the IF statement true if the ERRORLEVEL parameter returned by CHOICE is greater than or equal to the parameter specified in the IF command. @echo off cls echo. echo A Microsoft Editor echo B Microsoft Anti-Virus echo C Microsoft Backup echo. choice /c:abc Choose an option if errorlevel 3 goto MSBackup if errorlevel 2 goto Msav if errorlevel 1 goto Edit :Edit edit goto End :Msav msav goto End :Msbackup msbackup goto End :End *** ---------------------------------------------------------------------------- <Top of page>
Last update: December 07, 2002 14:45 by Content © 1997 Microsoft Corporation All else © 2000-2005 |