标题: [系统相关] 使用 set "erroelevel=x"后引发的故障 [打印本页]
作者: 踏沙行 时间: 2018-10-8 12:03 标题: 使用 set "erroelevel=x"后引发的故障
内置变量errorlevel,通常在在命令执行成功后返回值为0,否则为1(有时候其他非零值)
但如果自己对这个变量赋值后,将该内置变量将无法发挥其正常作用
例如:- echo.%errorlevel% 初始返回值为0
- reg query "HKCS\software\baidu1" 没有该子键,所以返回错误提示
- echo.%errorlevel% 因为查询失败,所以返回值为1
-
- reg query "HKCS\software\baidu" 存在该子键,所以返回查找到的结果
- echo.%errorlevel% 因为查询成功,所以返回值为0
-
- ==================
- set "errorlevel=1"
-
- reg query "HKCS\software\baidu" 存在该子键,所以返回查找到的结果
- echo.%errorlevel% 因为查询成功,理应返回值为0,但因为之前进行了自定义,所以依然返回1
-
- 执行 set "errorlevel="
- 再执行上两步执行查询并找到结果,但还是返回1
复制代码
请问,如果不小心改变了errorlevel内置变量的值,怎么在让它恢复默认值呢?
作者: /zhqsystem/zhq 时间: 2018-10-8 20:43
HKCS什么鬼
14行用户定义为空交还给系统
作者: 踏沙行 时间: 2018-10-8 21:24
回复 2# /zhqsystem/zhq
关键是errorlevel变量能还原吗?
作者: /zhqsystem/zhq 时间: 2018-10-8 21:45
回复 3# 踏沙行
用户变量优先,没有时候进入系统默认变量,都没有默认为空变量,不建议改写返回值变量,你可以另取一个替代变量等于返回值
作者: 踏沙行 时间: 2018-11-5 15:34
回复 4# /zhqsystem/zhq
谢谢,看来只能这样了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |