快速业务通道

BAT批处理文件语法第1/2页

作者 佚名 来源 批处理 浏览 发布时间 2013-07-09
nction()/function(),sub()
==================================
三、choice使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于iferrorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice/?查看用法。
choice的命令语法(该语法为Windows2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):
CHOICE[/Cchoices][/N][/CS][/Ttimeout/Dchoice][/Mtext]
描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
参数列表:
/Cchoices指定要创建的选项列表。默认列表是"YN"。
/N在提示符中隐藏选项列表。提示前面的消息得到显示,
选项依旧处于启用状态。
/CS允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/Ttimeout做出默认选择之前,暂停的秒数。可接受的值是从0
到9999。如果指定了0,就不会有暂停,默认选项
会得到选择。
/Dchoice在nnnn秒之后指定默认选项。字符必须在用/C选
项指定的一组选择中;同时,必须用/T指定nnnn。
/Mtext指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
/?显示帮助消息。
注意:
ERRORLEVEL环境变量被设置为从选择集选择的键索引。列出的第一个选
择返回1,第二个选择返回2,等等。如果用户按的键不是有效的选择,
该工具会发出警告响声。如果该工具检测到错误状态,它会返回255的
ERRORLEVEL值。如果用户按Ctrl+Break或Ctrl+C键,该工具会返回0
的ERRORLEVEL值。在一个批程序中使用ERRORLEVEL参数时,将参数降
序排列。
示例:
CHOICE/?
CHOICE/CYNC/M"确认请按Y,否请按N,或者取消请按C。"
CHOICE/T10/Cync/CS/Dy
CHOICE/Cab/M"选项1请选择a,选项2请选择b。"
CHOICE/Cab/N/M"选项1请选择a,选项2请选择b。"
====willsort编注===============================
我列出win98下choice的用法帮助,已资区分
Waitsfortheusertochooseoneofasetofchoices.
等待用户选择一组待选字符中的一个
CHOICE[/C[:]choices][/N][/S][/T[:]c,nn][text]
/C[:]choicesSpecifiesallowablekeys.DefaultisYN
指定允许的按键(待选字符),默认为YN
/NDonotdisplaychoicesand?atendofpromptstring.
不显示提示字符串中的问号和待选字符
/STreatchoicekeysascasesensitive.
处理待选字符时大小写敏感
/T[:]c,nnDefaultchoicetocafternnseconds
在nn秒后默认选择c
textPromptstringtodisplay
要显示的提示字符串
ERRORLEVELissettooffsetofkeyuserpressesinchoices.
ERRORLEVEL被设置为用户键入的字符在待选字符中的偏移值
如果我运行命令:CHOICE/CYNC/M"确认请按Y,否请按N,或者取消请按C。"
屏幕上会显示:
确认请按Y,否请按N,或者取消请按C。[Y,N,C]?
例:test.bat的内容如下(注意,用iferrorlevel判断返回值时,要按返回值从高到低排列):
@echooff
choice/Cdme/M"defrag,mem,end"
iferrorlevel3gotoend
iferrorlevel2gotomem
iferrorlevel1gotodefrag
:defrag
c:\dos\defrag
gotoend
:mem
mem
gotoend
:end
echogoodbye
此批处理运行后,将显示"defrag,mem,end[D,M,E]?",用户可选择dme,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以gotoend将程序跳到end标号处,然后程序将显示goodbye,批处理运行结束。

四、for循环命令,只要条件符合,它将多次执行同一命令。
语法:
对一组文件中的每一个文件执行某个特定命令。
FOR%%variableIN(set)DOcommand[command-parameters]
%%variable指定一个单一字母可替换的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号