------------------------ 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 |