bat批处理文件语法12转载

bat批处理文件语法12转载

ID:30359844

大小:84.70 KB

页数:17页

时间:2018-12-29

bat批处理文件语法12转载_第1页
bat批处理文件语法12转载_第2页
bat批处理文件语法12转载_第3页
bat批处理文件语法12转载_第4页
bat批处理文件语法12转载_第5页
资源描述:

《bat批处理文件语法12转载》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、BAT批处理文件语法12转载BAT批处理文件语法(1-2)(转载)2011/06/1210:55遗憾的是,win9x和DOS下均不支持shift的逆操作.只有在nt内核命令行环境下,shift才支持/n参数,可以以第一参数为基准返复移动起始指针.特殊命令ifgotochoicefor是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。一、if是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:1、if[not]"参数"=="字符串"待执行的命令参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句

2、。例:if"%1"=="a"formata:==if的命令行帮助中关于此点的描述为:IF[NOT]string1==string2command在此有以下几点需要注意:1.包含字符串的双引号不是语法所必须的,而只是习惯上使用的一种"防空"字符2.string1未必是参数,它也可以是环境变量,循环变量以及其他字符串常量或变量3.command不是语法所必须的,string2后跟一个空格就可以构成一个有效的命令行==2、if[not]exist[路径]文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。如:ifexistc:config.systypec:

3、config.sys表示如果存在c:config.sys文件,则显示它的内容。*注*也可以使用以下的用法:ifexistcommanddevice是指DOS系统中已加载的设备,在win98下通常有:AUX,PRN,CON,NULCOM1,COM2,COM3,COM4LPT1,LPT2,LPT3,LPT4XMSXXXX0,EMMXXXX0A:B:C:.,CLOCK$,CONFIG$,DblBuff$,IFS$HLP$具体的内容会因硬软件环境的不同而略有差异,使用这些设备名称时,需要保证以下三点:1.该设备确实存在(由软件虚拟的设备除外)2.该设备驱动程序已加载(aux,prn等标

4、准设备由系统缺省定义)3.该设备已准备好(主要是指a:b:.,com1.,lpt1.等)可通过命令mem/d

5、find"device"/i来检阅你的系统中所加载的设备另外,在DOS系统中,设备也被认为是一种特殊的文件,而文件也可以称作字符设备;因为设备(device)与文件都是使用句柄(handle)来管理的,句柄就是名字,类似于文件名,只不过句柄不是应用于磁盘管理,而是应用于内存管理而已,所谓设备加载也即指在内存中为其分配可引用的句柄.==3、iferrorlevel数字待执行的命令很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过iferror

6、level命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。如iferrorlevel2gotox2==注===返回值从大到小的顺序排列不是必须的,而只是执行命令为goto时的习惯用法,当使用set作为执行命令时,通常会从小到大顺序排列,比如需将返回码置入环境变量,就需使用以下的顺序形式:iferrorlevel1setel=1iferrorlevel2setel=2iferrorlevel3setel=3iferrorlevel4setel=4iferrorleve

7、l5setel=5当然,也可以使用以下循环来替代,原理是一致的:for%%ein(12345678.)doiferrorlevel%%esetel=%%e更高效简洁的用法,可以参考我写的另一篇关于获取errorlevel的文章出现此种现象的原因是,iferrorlevel比较返回码的判断条件并非等于,而是大于等于.由于goto的跳转特性,由小到大排序会导致在较小的返回码处就跳出;而由于set命令的"重复"赋值特性,由大到小排序会导致较小的返回码"覆盖"较大的返回码.另外,虽然iferrorlevel=数字command也是有效的命令行,但也只是command.com解释命令行时将

8、=作为命令行切分符而忽略掉罢了===二、goto批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。如:gotoend:endechothisistheend标号用":字符串"来定义,标号所在行不被执行。==编注label常被译为"标签",但是这并不具有广泛的约定性.goto与:联用可实现执行中途的跳转,再结合if可实现执行过程的条件分支,多个if即可实现命令的分组,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。