1. 内置errorlevel

这里的errorlevel指的是内置的环境变量,而不是用set定义的 errorlevel环境变量的值来自上一条命令执行后的结果,且不受局部变量的影响 如果执行正确,errorlevel通常为0 如果执行错误,errorlevel通常大于等于1

2. 用名字调用errorlevel

%errorlevel%!errorlevel!都是通过名字来调用errorlevel ==注意,在复合命令通过变量名调用errorlevel时一定要设置环境变量延迟==,详见bat 环境变量延迟

3. 用if errorlevel直接调用errorlevel

if errorlevel直接调用内置的errorlevel环境变量,而不是通过名字来调用,故直接用在复合命令中不会出现问题,且就算errorlevel被占用也没问题

4. 用set定义errorlevel的相关问题

一旦应用set给errorlevel赋值后,就会创建另一个普通的环境变量,名字为errorlevel,不同于内置的errorlevel,这个普通的变量不会根据上一条程序的运行结果而变化 而且这时通过名字调用的errorlevel都是普通的errorlevel,而无法调用真正的内置errorlevel 故不推荐用set改变errorlevel的值