- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IF语句讲解
第六章 if命令讲解
最近发现有些朋友一老问IF命令的用法,IF命令个人觉得很简单,所以就一直没把发放到新手教学贴里说,现在我给补上一文,希望对各位非常BAT的新手朋友们有所帮助.
现在开始:在CMD使用IF /?打开IF的系统帮助(自己看我就不全部列出来了),我们会发现IF有3种基本的用法!执行批处理程序中的条件处理。IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command?? NOT???????????? 指定只有条件为 false 的情况下, Windows XP 才?????????????????? 应该执行该命令。?? ERRORLEVEL number 如果最后运行的程序返回一个等于或大于?????????????????? 指定数字的退出编码,指定条件为 true。?? string1==string2?? 如果指定的文字字符串匹配,指定条件为 true。?? EXIST filename 如果指定的文件名存在,指定条件为 true。?? command?????????? 如果符合条件,指定要执行的命令。如果指定的????????????????? 条件为 FALSE,命令后可跟一个执行 ELSE????????????????? 关键字后的命令的 ELSE 命令。ELSE 子句必须在 IF 之后出现在同一行上。例如:IF EXIST filename (?????? del filename) ELSE (?????? echo filename missing)第一种用法:IF [NOT] ERRORLEVEL number command这个用法的基本做用是判断上一条命令执行结果的代码,以决定下一个步骤.一般上一条命令的执行结果代码只有两结果,成功用0表示?? 失败用1表示.举个例子:@echo offnet userIF %ERRORLEVEL% == 0 echo net user 执行成功了!pause这是个简单判断上条命令是否执行成功.细心的朋友可能会发现,这个用法和帮助里的用法不太一样,按照帮助里的写法IF %ERRORLEVEL% == 0 echo net user 执行成功了!?? 这一句代码应该写成:IF ERRORLEVEL 0 echo net user 执行成功了!那为什么我要写成这样呢?各位自己把代码改掉执行后,就会发现错误了!用这种语法,不管你的上面的命令是否执行成功,他都会认为命令成功了,不知道是BUG还是本人理解错误...补充:这不是bug,而是 if errorlevel 语句的特点:当使用 if errorlevel 0 …… 的句式时,它的含义是:如果错误码的值大于或等于0的时候,将执行某个操作;当使用 if %errorlevel%==0 …… 的句式时,它的含义是:如果错误码的值等于0的时候,将执行某操作。因为这两种句式含义的差别,如果使用前一种句式的时候,错误码语句的排列顺序是从大到小排列%ERRORLEVEL% 这是个系统变量,返回上条命令的执行结果代码! 成功用0表示?? 失败用1表示. 当然还有其他参数,用的时候基本就这两数字.一般上一条命令的执行结果代码只有两结果,成功用0表示?? 失败用1表示 这只是一般的情况,实际上,errorlevel返回值可以在0~255之间,比如,xcopy默认的errorlevel值就有5个,分别表示5种执行状态:退出码 说明0 文件复制没有错误。1 if errorlevel 2 echo。2 用户按 CTRL+C 终止了 xcopy。4 出现了初始化错误。没有足够的内存或磁盘空间,或命令行上输入了无效的驱动器名称或语法。5 出现了磁盘写入错误。要判断上面xcopy命令的5种退出情况,应写成:if errorlevel 5 echo出现了磁盘写入错误if errorlevel 4 echo出现了初始化错误if errorlevel 2 echo用户按 CTRL+C 终止了 xcopyif errorlevel 1 echo if errorlevel 2 echoif errorlevel 0 echo文件复制没有错误。才能正确执行。补充完毕。
再举几个例子给新手理解@echo offnet usertestIF %ERRORLEVEL% == 1 echo net user 执行失败了!pause这个是判断上一条命令是否执行失败的@echo offset /p
文档评论(0)