errorlevel是Windows命令提示符(CMD)中的特殊环境变量,用于存储上一个执行命令或程序的退出状态码。其核心作用是为批处理脚本提供错误检测和流程控制能力。
1. 基本特性
- 数值范围:0通常表示成功执行,非0值(1-255)表示错误类型(具体含义由程序定义)
- 动态更新:每次执行新命令后自动更新
- 作用域:仅在当前CMD会话或批处理脚本中有效
2. 查看方法
:: 直接显示当前值
echo %errorlevel%
:: 结合命令使用(示例)
dir C:\NonExistentFolder
echo 上条命令状态码:%errorlevel%
3. 条件判断
在批处理脚本中常用if进行流程控制:
:: 检查是否成功(等于0)
if %errorlevel% EQU 0 (
echo 命令执行成功
) else (
echo 错误代码:%errorlevel%
)
:: 检查特定错误(如文件未找到)
myprogram.exe
if %errorlevel% EQU 2 (
echo 错误:文件不存在
)
4. 高级用法
- 链式检测:连续检查多个命令状态
task1.exe && (echo 任务1成功) || (echo 任务1失败)
task2.exe && (echo 任务2成功) || (echo 任务2失败)
- 强制设置:手动修改状态码
:: 设置成功状态
exit /b 0
:: 设置自定义错误码
exit /b 5
5. 注意事项
- 某些命令(如
dir)在成功时返回0,失败时返回非0值 - 系统内置命令(如
copy)有特定错误码:0:成功复制1:未找到文件2:用户按Ctrl+C终止
- 第三方程序的错误码需查阅其文档
应用场景:适用于自动化脚本的错误处理、安装程序的状态检测、持续集成中的流程控制等。通过合理利用错误码,可大幅提升批处理脚本的健壮性。
5139

被折叠的 条评论
为什么被折叠?



