bat中ERRORLEVEL的使用介绍

■前言

今天在bat代码中看到了 ,以下的代码

set var=%ERRORLEVEL% 

搜索整个程序,也没有发现,哪里定义了ERRORLEVEL这个变量

只是搜了到了类似下面的代码

if ERRORLEVEL 1 goto ERROREXIT...
...
:ERROREXIT
exit /b 1

■扩展

Linux 中,使用  「$?」来判断上一条命令是否执行成功。

shell中设定返回值时,执行shell之后,页可以执行 $? 来查看shell的返回值

■确认的结果

if ERRORLEVEL 1 goto ERROREXIT

它的作用是判断前一条命令的错误返回值

(在if 后面可以直接使用,其他方式使用,和平常变量一样,前后加上%)

■举例1

C:\test\temp\123>dir /b /s
C:\test\temp\123\新建文本文档 (2).txt
C:\test\temp\123\新建文本文档6.txtC:\test\temp\123>echo %ERRORLEVEL%
0C:\test\temp\123>dir /b /s *6.txt
C:\test\temp\123\新建文本文档6.txtC:\test\temp\123>echo %ERRORLEVEL%
0C:\test\temp\123>dir /b /s *9.txt
找不到文件C:\test\temp\123>echo %ERRORLEVEL%
1C:\test\temp\123>

■举例2

bat1可以调用bat2

被调用的bat2可以设置返回值

if ERRORLEVEL 1 goto ERROREXIT...
...exit /b 0:ERROREXIT
exit /b 1

bat1 调用bat2之后,

ERRORLEVEL 中保存的就是bat2中设定的返回值

■帮助文档

可以使用 if /? 的方式,查看帮助文档。

(单位的电脑不是中午系统,写在这里面,便于以后自己查看)

---

C:\Users>if /?
执行批处理程序中的条件处理。IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename commandNOT               指定只有条件为 false 的情况下,Windows 才应该执行该命令。ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true。string1==string2  如果指定的文字字符串匹配,指定条件为 true。EXIST filename    如果指定的文件名存在,指定条件为 true。command           如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。ELSE 子句必须出现在同一行上的 IF 之后。例如:IF EXIST filename. (del filename.) ELSE (echo filename. missing.)由于 del 命令需要用新的一行终止,因此以下子句不会有效:IF EXIST filename. del filename. ELSE echo filename. missing由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:IF EXIST filename. del filename.ELSE echo filename. missing如果都放在同一行上,以下子句有效:IF EXIST filename. (del filename.) ELSE echo filename. missing如果命令扩展被启用,IF 会如下改变:IF [/I] string1 compare-op string2 commandIF CMDEXTVERSION number commandIF DEFINED variable command其中, compare-op 可以是:EQU - 等于NEQ - 不等于LSS - 小于LEQ - 小于或等于GTR - 大于GEQ - 大于或等于而 /I 开关(如果指定)说明要进行的字符串比较不分大小写。
/I 开关可以用于 IF 的 string1==string2 的形式上。这些
比较都是通用的;原因是,如果 string1 和 string2 都是
由数字组成的,字符串会被转换成数字,进行数字比较。CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它
是在跟与命令扩展有关联的内部版本号比较。第一个版本
是 1。每次对命令扩展有相当大的增强时,版本号会增加一个。
命令扩展被停用时,CMDEXTVERSION 条件不是真的。如果已定义环境变量,DEFINED 条件的作用跟 EXIST 的一样,
除了它取得一个环境变量,返回的结果是 true。如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%
会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,你会得到
其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:goto answer%ERRORLEVEL%:answer0echo Program had return code 0:answer1echo Program had return code 1你也可以使用以上的数字比较:IF %ERRORLEVEL% LEQ 1 goto okay如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%
将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始
命令行;否则,你会得到其数值。如果没有名为 CMDEXTVERSION 的环境变量,
%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的
字串符表达式;否则,你会得到其数值。

------

■帮助文档 exit

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

bat中ERRORLEVEL的使用介绍相关推荐

  1. bat中使用mshta调用vbs语句获取精准计算的日期

    1.在bat中,获取指定的日期格式是比较麻烦的.因为cmd环境中,日期格式随着系统的时间格式设置而变化,通常系统默认的时间格式是"\'"符号作为连接符. 日期通常用在文件名上,比如 ...

  2. Blender中的Python脚本介绍学习教程

    Blender中的Python脚本介绍学习教程 MP4 |视频:h264,1280×720 |音频:AAC,48000 Hz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:1.63 ...

  3. django中使用celery简单介绍

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 本章节我们重点在于实现,如何存储任务的结果. 我们将任务函数改为: from celery_demo.celery im ...

  4. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  5. php中使用mysql的视图_MYSQL中视图的用法介绍(代码示例)

    本篇文章给大家带来的内容是关于MYSQL中视图的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.什么是视图 执行一条SQL,将结果集保存在一张虚拟表中 (相关 ...

  6. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  7. html的meta总结,html标签中meta属性使用介绍和   动态替换字符串

    http://www.haorooms.com/post/html_meta_ds http://www.haorooms.com/archives里面的东西比较多,需要细看一下 http://www ...

  8. vuex结合php,vuex中store的使用介绍(附实例)

    本篇文章给大家带来的内容是关于vuex中store的使用介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.状态管理(vuex)简介 vuex是专为vue.js应用程序 ...

  9. python在日常工作处理中的应用-python在工作中的应用场景介绍

    python在工作中的应用场景介绍 发布时间:2020-04-21 14:44:30 来源:亿速云 阅读:277 作者:小新 今天小编给大家分享的是python在工作中的应用场景介绍,相信很多人都不太 ...

最新文章

  1. Android中的定时器AlarmManager
  2. BZOJ3509 [CodeChef] COUNTARI 【分块 + fft】
  3. c++ 双端队列 deque 之 (头部、尾部)插入元素/删除元素/
  4. 《机器人编程实战》一一第1章 究竟什么是机器人
  5. jsp 中包含 一个路径为变量的文件
  6. js中按钮去触发定时器,那么多次点击这个定时器会越来越快,解决方法
  7. c++判断一个字符串里面有特殊符号_简单动态字符串(SDS)
  8. 经典!史上最全免费收录网站搜索引擎登录口
  9. 2022-2027年中国文化传媒行业市场调研及未来发展趋势预测报告
  10. 用DrRacket写scheme语言的hello world
  11. FMCW激光雷达科普(上):基本概念、技术路线、优势及争议和误解
  12. CCRC信息安全服务资质证书办理条件有哪些?
  13. MySQL 查询一个表的大小
  14. 三种常见的网络/路由模拟器
  15. 英国五大基金公司正在探索区块链
  16. sql 同时(更新)update和(查询)select同一张表
  17. [OpenCV] cv::VideoCapture中read和grab+retrieve的区别
  18. Win7中找回显示桌面的快捷方式
  19. InSAR处理及绘图常用GMT命令、bash、csh、matlab语法及样例
  20. 2021-06-03Leetcode 438.找到字符串中所有字母异位词

热门文章

  1. 如何做好一位合格qc_如何做好一个合格的热缩产品
  2. 折线图笔记 -python
  3. pytorch之tensor操作expand
  4. mpi和openmp混合编程的优点_混合云:拥抱云计算的未来!
  5. 关闭Windows 2008下面应用程序出错后的提示
  6. Ubuntu下安装NetBeans步骤和相关问题的解决方法
  7. 十二、java知识点——类加载机制(硬货)
  8. [01]树梅派Raspberry-Pi入门上手
  9. linux学习笔记整理
  10. Entity Framework 4 in Action读书笔记——第六章:理解实体的生命周期(一)