六维教程

Bat脚本 错误处理

errorlevel%errorlevel%

每个命令执行后会返回一个整数值,通常 0 表示成功,非 0 表示失败。

@echo off
:: 执行一个可能失败的命令
copy source.txt dest.txt

:: 方法一:使用 %errorlevel% 判断(精确匹配)
if %errorlevel% equ 0 (
    echo 复制成功
) else (
    echo 复制失败,错误码:%errorlevel%
)

:: 方法二:使用 if errorlevel 判断(大于等于)
if errorlevel 1 (
    echo 命令执行失败(错误码 >= 1)
)

区别if errorlevel n 判断错误码 大于等于 n;if %errorlevel%==n 判断 等于 n。

常用错误处理模式

@echo off
setlocal enabledelayedexpansion

:: 执行备份
xcopy "C:\Source" "D:\Backup" /E /I /Q /Y
if !errorlevel! neq 0 (
    echo [错误] 备份失败,错误码:!errorlevel!
    echo 请检查源目录是否存在
    pause
    exit /b !errorlevel!
)

echo [成功] 备份完成

错误处理最佳实践

  1. 检查关键命令的返回值
  2. 记录错误日志command >> log.txt 2>&1
  3. 显示清晰的错误信息,便于排查
  4. 使用 exit /b 错误码 向调用者返回状态
上一篇
Bat脚本 重定向与管道
下一篇
Bat脚本 字符串处理