batch-file - 批处理文件中的字符串断言/抛出异常
问题描述
通过詹金斯的 bat 文件。我有一部分代码如下所示
IF %Status% == Completed (
Echo Process has executed successfully
)
ELSE (
<Code to be added>
)
我的要求是,如果 Status 的值不是“Completed”,那么 bat 文件必须抛出异常或其他东西,以使 Jenkins 构建失败。在 bat 文件中是否有任何断言或抛出异常的方法?请在这件事上给予我帮助?
解决方案
批处理文件的每一行都被视为一个新命令。Else
它本身不是,所以它在一个新的线路上,它被视为一个。您需要将括号与else
.
此外,您需要对匹配项进行双引号,以确保消除任何可能的空格。我在语句中添加了/i
switch 以if
使匹配不区分大小写。
IF /i "%Status%" == "Completed" (
echo Process has executed successfully
) else (
echo Failed to build
pause
exit /b 1
)
另一种方法是不使用 else。
IF not /i "%Status%" == "Completed" goto :error
echo Process has executed successfully
echo other success code goes here
goto :eof
:error
echo Your code has failed.
pause
goto :eof
推荐阅读
- r - 这里有什么明显的错误会减慢我的代码(嵌套循环)吗?
- r - 如何使用 ggplot() 导出 R 中变量之间的关系
- google-apps-script - 每天检查域中所有用户的驱动器存储的应用程序脚本
- python - 使用 RabbitMQ 或任何消息代理来通信 OPC 客户端和微服务控制器
- python - 熊猫数据框:划分和替换
- ionic-framework - UNAUTHORIZED_PAYMENT Ionic 4,请求失败,http statusCode:401,异常:,系统错误
- dart - 如何在 Dart 中将变量转换为泛型类型?
- typescript - 使用 TypeScript 将带有 Chai 的 WebdriverIO 配置为全局变量
- php - 从多个表中删除问题
- javascript - 从画布获取图像数据作为文本的最快方法