前言

抛出错误码

@echo off:: 命令1
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
:: 命令2
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
:: 命令3
IF %ERRORLEVEL% NEQ 0 GOTO ERROR:OK
ECHO command success
GOTO END:ERROR
ECHO command failed
GOTO END:END
IF %ERRORLEVEL% GEQ 0 EXIT /B %ERRORLEVEL%
EXIT /B 0

捕获错误

@echo offcd /d %~dp0
set bin_dir=%CD%call %bin_dir%\a.bat
IF %errorlevel% NEQ 0 GOTO ERROR:OK
ECHO command success
GOTO END:ERROR
ECHO command failed
GOTO END:END
IF %ERRORLEVEL% GEQ 0 EXIT /B %ERRORLEVEL%
EXIT /B 0

示例

a.bat

@echo offabc987defg
IF %ERRORLEVEL% NEQ 0 GOTO ERROR:OK
ECHO [BAT FILE A] command success
GOTO END:ERROR
ECHO [BAT FILE A] command failed
GOTO END:END
IF %ERRORLEVEL% GEQ 0 EXIT /B %ERRORLEVEL%
EXIT /B 0

b.bat

@echo offcd /d %~dp0
set bin_dir=%CD%call %bin_dir%\a.bat
IF %errorlevel% NEQ 0 GOTO ERROR:OK
ECHO [BAT FILE B] command success
GOTO END:ERROR
ECHO [BAT FILE B] command failed
GOTO END:END
IF %ERRORLEVEL% GEQ 0 EXIT /B %ERRORLEVEL%
EXIT /B 0

执行结果

cmd> b.bat
'abc987defg' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
[BAT FILE A] command failed
[BAT FILE B] command failed

参考:EXIT 命令

cmd> exit /?
退出 CMD.EXE 程序(命令解释器)或当前批处理脚本。EXIT [/B] [exitCode]/B          指定要退出当前批处理脚本而不是 CMD.EXE。如果从一个批处理脚本外执行,则会退出 CMD.EXEexitCode    指定一个数字号码。如果指定了 /B,将 ERRORLEVEL设成那个数字。如果退出 CMD.EXE,则用那个数字设置过程退出代码。

参考

https://www.cnblogs.com/hualiu0/p/5163744.html

bat/cmd 抛出错误码和捕获错误相关推荐

  1. 抛出错误_不用try catch,如何机智的捕获错误

    这是多个feature组合使用后实现的神奇效果,在React源码中被广泛使用. 当我读源码看到这里时,心情经历了: 懵逼 -- 困惑 -- 沉思 -- 查文档 -- 豁然开朗 看完此文,相信你也会发出 ...

  2. PHP的异常处理异常捕获错误类

    1.错误分类 Fatal Error:致命错误(脚本终止运行)E_ERROR // 致命的运行错误,错误无法恢复,暂停执行脚本E_CORE_ERROR // PHP启动时初始化过程中的致命错误E_CO ...

  3. bat/cmd批处理程序设计教程

    序言 这是一篇技术教程,我真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.我写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让 ...

  4. Windows下的批处理文件.bat/.cmd简介及常用命令

    写在前面: 提起批处理,或者 .bat/.cmd 为后缀名的文件,大家可能都见过,也许会比较陌生,这并不是一种新的编程语言或者一种很前沿的技术,在早期的windows系统下的计算机,其实只有一个黑框框 ...

  5. php register_shutdown_function响应error 配合error_get_last 捕获错误

    register_shutdown_function 函数,当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,我们的这个函数将会 被调用,可以配合 error_get_last 使用,代码如下, ...

  6. VBA IsNull 应用 - 捕获错误并查找未填充的值

    目录 前言 一.什么是Null 二.哪些数据类型可以为空? 三.使用 IsNull 捕获未填充的值 四.用 IsNull 捕捉数据变化 五.使用 IsNull 捕获错误 六.总结 七 补充:Null ...

  7. java 异常捕获抛出_JAVA异常处理捕获与抛出原理解析

    JAVA 异常 当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常.异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常. 这个时候,JAVA 就提供了优秀的处理方法:异常处理 ...

  8. DOS下常用BAT(cmd)命令

    DOS下常用BAT(cmd)命令 在cmd中不显示命令行却显示结果 使用 @echo off @echo off rem off之后ping命令行不会显示在cmd上,结果会在cmd上显示 ping 1 ...

  9. .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC不是可识别的文件,程序

    在之前配置环境变量的时候,跟着网上别人操作,导致自己的系统环境变量错误,明明存在pathext,确 打开anaconda prompt 会提示:.COM;.EXE;.BAT;.CMD;.VBS;.VB ...

最新文章

  1. 微软私有云Azure Pack实践系列之三创建虚拟机角色
  2. keil c语言模块化编程,keil C模块化编程总结
  3. 电阻应用电路之指示灯电路的设计
  4. 关于继承构造器的调用
  5. 王者荣耀专区系统服务器繁忙,王者荣耀跨系统转区开放!详细问答汇总,解决全部转区疑惑!...
  6. 高精度人脸表情识别(附GitHub地址)
  7. 蓝桥杯 ADV-202算法提高 最长公共子序列(动态规划)
  8. 2018阿里-研发工程师JAVA Software Engineer, Java
  9. 微软的Hyper-V专业级虚拟化工具
  10. movcms能安装PHP吗,LzCMS-博客版 手动安装方法
  11. WannaCry不相信眼泪 它需要你的安全防御与响应能力
  12. 775针服务器cpu性能排行,775针cpu排行榜说明
  13. c++二进制转化成十进制
  14. 使用uniapp获取当前位置
  15. Windows xp IIS 信息服务
  16. 【Swift 60秒】51 - Closures as parameters
  17. java sub函数,请问Sub子过程与Function函数过程有什么区别?
  18. VPS云服务器搭建FTP并连接
  19. 30岁的程序员......
  20. 云原生改造的实现路径

热门文章

  1. Codeforces Gym 100286I iSharp 水题
  2. Linux目录、文件的创建与删除
  3. 10个最好的 jQuery 视频插件(转)
  4. 1815. 计算两点间的距离
  5. How to create a simple 2D graphics program?
  6. Windows server 2003域下全局组、本地域组及通用组之间的关系详解
  7. cef谷歌内核浏览器获取cookie值并保存
  8. Spring集合 (List,Set,Map,Properties) 实例
  9. 如何注入值到Spring bean属性
  10. PHP实现带重试功能的curl连接示例