首页
windows
驱动
往windows镜像中添加驱动
集成驱动与补丁到Windows7的ISO文件
禁用Win系统自动更新驱动
Windows Service 中安装网卡驱动
office
excel中的函数
Win故障处理
win10文件夹右键菜单转圈圈假死
内存占用很高
激活许可
kms激活
office删除授权
KMS38
MAS开源激活脚本
解除网页禁止复制
封装win10系统
封装系统工具
DISM命令常见用法
封装win10-U盘安装系统
封装win10-U盘安装系统2--sysprep封装后的自动化
Win镜像文件iso添加补丁包
WDS+MDT自动装机
ISO镜像中的install.esd转为install.wim
微软资源
Win实用工具
微软官方-网络数据收集NetMon
微软官方工具
Win下查看文件被哪个进程占用
Everything 的文件索引、HTTP共享
文件转换器File Converter
恢复电脑上删除的文件
查看桌面弹窗广告是哪个应用-ProcessExplorer
Win-网络
获取网卡的接口号
Win下查看端口被哪个进程占用
方便的编辑切换hosts文件OpenArk
win10中用curl或PowerShell调用HTTP post 接口
从windows获取连接的USB设备列表_python或cmd
检测硬件信息
显卡压力测试
bat压缩文件夹并备份到smb共享
bat脚本中使用WinSCP命令备份linux中文件
WinScp命令行下载脚本(示例代码)
Win10下用系统自带SCP命令免密码上传、下载centos服务器上的文件
Win笔记
win10查看设备序列号、硬盘序列号、硬盘ID
Windows 系统下 MD5 值计算方法
Windows 关闭显示命令
Win中查看进程名称、使用的端口
Win10命令行中查看wifi密码
查看、杀掉进程
用CMD弹出提示框
Windows软件静默安装
WDS跨网段配置_网络
Windows修改静态路由表和跃点数
bat脚本映射共享文件夹为盘符
win中备份文件到阿里对象存储 OSS
Windows管理工具命令行Wmic
Win10自动修复失败,你的电脑未正确启动
TCP端口ping命令_psping
bat脚本
BAT批处理中的字符串处理
获取本机ip和ping网关
统计win共享文件夹内哪些用户有权限
bat脚本——for循环用法
BAT脚本之判断文件是否存在
bat笔记
bat方式实现企业微信群机器人告警
bat脚本检测USB设备掉线时企微告警
Bat脚本日期时间获取
Win中检查某一进程是否存在
if和errorlevel
goto和call
bat中修改计算机名为sn号
批处理- 内置环境变量ERRORLEVEL
bat修改host文件
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
批处理- 内置环境变量ERRORLEVEL
DOS启动后,其运行环境中已经内置很多预定义环境变量,ERRORLEVEL就是其中一个。 1、对于大多数DOS命令,其退出代码是保存在ERRORLEVEL环境变量中的,通常情况下,退出代码分为0(命令执行没有发生错误)、非0(命令执行发生错误)两种。 ```bash C:\>cd out //“out”目录存在,命令执行正确 C:\out>echo %ERRORLEVEL% //ERRORLEVEL内置环境变量被设置为0 0 C:\out>cd noExsit //“noExsit”目录不存在,命令执行报错 系统找不到指定的路径。 C:\out>echo %ERRORLEVEL% //ERRORLEVEL内置环境变量被设置为1 1 C:\out> ``` 2、一些dos命令的退出代码不保存在ERRORLEVEL内置环境变量中,例如:cls命令、echo命令 ```bash C:\>echo %ERRORLEVEL% // 这里,ERRORLEVEL内置环境变量的值是1 1 C:\>echo ok //命令正确执行 ok C:\>echo %ERRORLEVEL% // 这里,ERRORLEVEL内置环境变量的值还是1 1 C:\>cls //命令正确执行 C:\>echo %ERRORLEVEL% // 这里,ERRORLEVEL内置环境变量的值仍然还是1 1 C:\> ``` 3、ERRORLEVEL内置环境变量不能被重新赋值 ```bash C:\>set ERRORLEVEL=0 //命令一 C:\>echo %ERRORLEVEL% //命令二 0 C:\>cd noExsit //命令三 系统找不到指定的路径。 C:\>echo %ERRORLEVEL% //命令四 0 C:\> ``` 解析 - 命令一:新定义了一个值为0的环境变量ERRORLEVEL,而不是给内置环境变量ERRORLEVEL重新赋值为0。注意:新定义的环境变量ERRORLEVEL和内置环境变量ERRORLEVEL是两个不同的变量,只是变量名相同而已。 - 命令二:输出新定义的环境变量ERRORLEVEL的值,该值为0 - 命令三:进入了一个不存在的目录,cd命令的退出代码是非零,它被保存到内置环境变量ERRORLEVEL中,而不是新定义的环境变量ERRORLEVEL中 - 命令四:输出新定义的环境变量ERRORLEVEL的值,该值仍然为0 参考:[【WINDOWS / DOS 批处理】ERRORLEVEL内置环境变量](https://blog.csdn.net/mt15306338066/article/details/127182659 "【WINDOWS / DOS 批处理】ERRORLEVEL内置环境变量") ## 示例: ```bash @echo off set /p var=随便输入个命令: %var% if %ERRORLEVEL% == 0 ( echo 执行成功了 ) ELSE ( echo 基本上执行失败了.. ) pause ``` 第三行的%var%作用就是执行一下用户输入的命令。 通常情况下,命令执行成功以后,系统变量ERRORLEVEL会被设置成0;如果命令失败,或者遇到非法命令,系统变量ERRORLEVEL会被设置成一个非0的数字。 注: IF ERRORLEVEL 0 的意思是 if %errorlevel% 大于等于 0,是个错误的用法.DOS启动后,其运行环境中已经内置很多预定义环境变量,ERRORLEVEL就是其中一个。 [bat脚本中if子句的errorlevel,一个大坑](https://blog.csdn.net/cleanfield/article/details/83661217 "bat脚本中if子句的errorlevel,一个大坑"): **if子句的errorlevel拿不到正确的值,只能将子句goto出来,写在最外层** [windows批处理中的%errorlevel%与!errorlevel!](https://blog.csdn.net/sptoor/article/details/80389323 "windows批处理中的%errorlevel%与!errorlevel!") ``` bat脚本中常用%errorlevel%表达上一条命令的返回值,用于判断。比如: cmd1 if %errorlevel% == 1 ( cmd2 ) //如果cmd1返回的错误码值等于1时,将执行cmd2操作 一般上一条命令的执行结果返回的值只有两个,0表示”成功”、1表示”失败”,实际上,errorlevel 返回值可以在0~255 之间。 在for循环中或if语句中多条命令都需要获取返回值等情况下,用errorlevel显得无效,第二条命令开始errorlevel的值都不会变。此处涉及批处理中的变量延迟问题,并不是errorlevel无效,而是对errorlevel变量的引用采用的是没开启变量延迟情况下的百分号%。 开启变量延迟的设置:setlocal EnableDelayedExpansion,即延迟环境变量扩展,告诉解释器在遇到复合语句的时候,不要将其作为一条语句同时处理,而是一条一条地去解释。但是这时如果仍然用百分号%来引用变量是不起作用的,必须用感叹号!,如!errorlevel!。 setlocal enabledelayedexpansion cmd1 if !errorlevel! == 1 ( cmd2 echo !errorlevel! ) ```
local
2023年5月4日 14:46
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码