迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

批处理脚本中的错误处理

作者:迹忆客 最近更新:2023/08/14 浏览次数:

每个脚本和编程语言都包含错误处理程序,例如 Java 包含用于错误处理的 try-catch。 在批处理脚本中,没有直接的方法来执行此操作,但我们可以使用批处理脚本名称 %ERRORLEVEL% 的内置变量在批处理脚本中创建错误处理程序。

本文将展示如何创建批处理脚本来处理错误和失败。 此外,我们还将提供一些使该主题变得更容易的示例。


批处理脚本中的错误处理

当命令成功执行时,它总是返回一个 EXIT CODE,指示命令是成功执行还是执行失败。 因此,要在批处理文件中创建错误处理,我们可以在程序中使用该退出代码。

您可以按照以下通用格式创建错误处理程序:

@Echo off
SomeCommand && (
  ECHO Message for Success
) || (
  ECHO Message for Failure or Error
)

我们还可以通过检查名为 %ERRORLEVEL% 的变量来做到这一点。 如果变量包含不等于 0 的值,则执行命令时可能会出现问题或错误。 要测试 %ERRORLEVEL% 变量,您可以按照以下示例代码进行操作:

@ECHO off
Some Command Here !!!
IF %ERRORLEVEL% NEQ 0 (Echo Error found when running the command &Exit /b 1)

您必须注意,关键字 NEQ 表示不等于。 如果代码中存在问题或错误,变量 %ERRORLEVEL% 将仅包含非零值。

包含错误的示例

下面,我们分享了一个例子。 我们将从某个位置运行名为 Your_file.bat 的批处理文件。

我们故意从目录中删除了该文件。 所以这是一个错误命令。

我们示例的代码为:

@echo off
ECHO Running a Batch file
CD G:\BATCH\
CALL Your_file.bat
IF  errorlevel 1 GOTO ERROR
ECHO The file run successfully.
GOTO EOF

:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1

:EOF

现在,由于目录中不存在该文件,它将显示错误,当您运行上面共享的代码时,您将得到以下输出。

输出:

Running a Batch file
The system cannot find the path specified.
'Your_file.bat' is not recognized as an internal or external command,
operable program or batch file.
The file didn't run successfully.

成功运行的无错误代码示例

在上面的例子中,我们故意在代码上犯了一个错误,以了解代码是如何工作的。 如果我们像下面这样更正它:

@echo off
ECHO Running a Batch file
CALL "G:\BATCH\Yourfile.bat"
IF  errorlevel 1 GOTO ERROR
ECHO The file runs successfully.
GOTO EOF

:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1

:EOF

然后我们会得到这样的输出:

Running a Batch file
This is from the first file
The file runs successfully.

请记住,我们在这里讨论的所有命令仅适用于 Windows 命令提示符或 CMD 环境。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便