〖文章分类:电脑·手机·网络 / 电脑系统安装·设置·优化〗〖阅读选项〗 |
|
在批处理程序中,提示用户作一选择。显示一指定的提示符并暂停等待用户从一组指定的键中作出选择。该命令只能用在批处理程序中。有关ERRORLEVEL参数的详细介绍,见<CHOICE─注解>和<IF>命令。
语法:CHOICE[/C[:]keys][/N][/S][/T[:]c,nn][text]
参数:text 指出要在提示符前显示的正文。仅当在提示符前的正文中包括有开关字符(/)作为正文内容时,才要用双引号。如果不指定正文,CHOICE仅显示一个提示符。
开关项:
/C[:]keys 指定提示中可接受的按键。显示时,这些键出现在[]内,键之间以逗号分隔,最后跟一问号。若不指定/C开关,CHOICE采用隐含值YN。冒号(:)是可选项。
/N 让CHOICE不显示提示符,但提示符前的正文仍然显示。若指定了/N开关,所指定的按键仍有效。
/S 使CHOICE区别大小写字母。若没指定/S,CHOICE对任何用户指定的键,大小写不作区分。
/T[:]c,nn 在对某一指定关键字作默认设置前,让CHOICE等待一指定秒数的时间。/T转换中的值如下所设:c 指定等待nn秒后作为默认值的那个字符。该字符必须出现在/C开关后的按键集中。
nn 指定暂停的秒数。可接受0-99之间的值。若指定为0,表示默认设置前不暂停。
CHOICE 注解,ERRORLEVEL 参数
第一个键的返回值为1,第二个键的返回值为2,第三个键的返回值为3,依此类推。如果用户按下的键不在指定的键中,CHOICE响一声警铃(即,它向控制台发送字符BEL或07h)。
如果CHOICE检测到一错误条件,将返回ERRORLEVEL值255。若用户按了CTRL+BREAK或CTRL+C,CHOICE返回ERRLRLEVEL值0。
在批处理程序中用ERRORLEVEL参数时,可采用递减顺序列出对各返回进行的处理。
--------------------------------------------------------------------------------
CHOICE 例子
在批处理文件用CHOICE时用户所见的信息
如果在批处理文件中采用了以下语法形式:choice/c:ync
则用户在CHOICE运行时,将看到:[Y,N,C]?
在上例语句中,加入正文:choice/c:yncYes,No,orContinue CHOICE启动时,用户看到:Yes,No,orContinue[Y,N,C]?
去掉提示符后用户所见的信息,如下例,在批处理程序中用/N转换把提示符去掉:choice/nYes,No,orContinue?
在CHOICE执行时,用户只见到指定的正文:Yes,No,orContinue?
用了T开关后用户所见的信息,如果在批处理程序中用以下语句:choice/c:ync/t:n,5
当CHOICE执行时,用户会看到:[Y,N,C]?
5秒后,用户没按任何键,CHOICE就选择N且返回一个ERRORLEVEL值2。如果5秒内按下某键,CHOICE返回与用户选择相应对的值。
启动计算机时,若想让用户选择是否要消除C盘的碎片,可在AUTOEXEC.BAT文件中加入下列语句:
choiceDefragdrive/ty,5 iferrorlevel2gotoSkipDefrag defragc: :SkipDefrag
若在5秒内按下N,DEFRAG将不会运行,CHOICE返回ERRORLEVEL值为2。如果5秒内没按下N,或选择了Y,则对C盘运行DEFRAG。
|
文章作者:未知 更新日期:2007-05-01 |
〖文章浏览:〗〖打印文章〗〖发送文章〗 |
|
|
|