CMD命令行高级教程精选合编合集
误了!用这种语法,不管你的上面的命令是否执行成功,他都会认为命令成功了,不知道是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 终止了 xcopy if errorlevel 1 echo if errorlevel 2 echo if errorlevel 0 echo文件复制没有错误。 才能正确执行。 补充完毕。 再举几个例子给新手理解 @echo off net usertest IF %ERRORLEVEL% == 1 echo net user 执行失败了! pause 这个是判断上一条命令是否执行失败的 @echo off set /p var=随便输入个命令: %var% if %ERRORLEVEL% == 0 goto yes goto no :yes echo !var! 执行成功了 pause exit :no echo 基本上执行失败了.. pause 这个是根据你输入的命令,自动判断是成功还是失败了! 在来一个简化版的 这里介绍的两种简写对IF的三种语法都可以套用,不单单是在IF [NOT] ERRORLEVEL number command |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |