errorlevel和shell脚本中的 $? 作用是一样的,用来判断上一步执行结果的返回状态。
errorlevel是对上一句bat指令执行结果的判断,上一步可以是赋值、查找、拷贝,调用,打包等指令类型。
判断errorlevel的值,对返回结果做不同的操作
常见的判断有两种:
if判断errorlevel的值,等于可能出现的返回结果值,将执行if 判断内的cmmand操作,
例:
使用if %errorlevel%==值 ( ::注意是两个等号,等号左右两端没有空格,值 后面有一个空格,然后是(
cmmand
)
或者:
if not errorlevel 1( ::其实这里的判断返回值可以理解为等于0
)
一般上一条命令的执行结果返回的值只有两个,"成功"用0 表示 "失败"用 1 表示,实际上,errorlevel 返回值可
以在0~255 之间,
例如xcopy 默认的errorlevel 值就有5 个,分别表示5 种执行状态:
0复制文件成功
1 未找到复制文件
2 用户通过CTRL C 终止了xcopy操作
4 出现了初始化错误
5 出现了磁盘写入错误
if %errorlevel%对数值的比较方法不仅仅限于等于,可以使用参数来控制。
例:
if %errorlevel% LEQ 1 goto okay
全部的比较参数如下:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于