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的值