[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 使用 set "erroelevel=x"后引发的故障

内置变量errorlevel,通常在在命令执行成功后返回值为0,否则为1(有时候其他非零值)
但如果自己对这个变量赋值后,将该内置变量将无法发挥其正常作用
例如:
  1. echo.%errorlevel%    初始返回值为0
  2. reg query "HKCS\software\baidu1"  没有该子键,所以返回错误提示
  3. echo.%errorlevel%   因为查询失败,所以返回值为1
  4. reg query "HKCS\software\baidu"  存在该子键,所以返回查找到的结果
  5. echo.%errorlevel%   因为查询成功,所以返回值为0
  6. ==================
  7. set "errorlevel=1"  
  8. reg query "HKCS\software\baidu"  存在该子键,所以返回查找到的结果
  9. echo.%errorlevel%   因为查询成功,理应返回值为0,但因为之前进行了自定义,所以依然返回1
  10. 执行 set "errorlevel="
  11. 再执行上两步执行查询并找到结果,但还是返回1
复制代码
请问,如果不小心改变了errorlevel内置变量的值,怎么在让它恢复默认值呢?

HKCS什么鬼
14行用户定义为空交还给系统
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 2# /zhqsystem/zhq

关键是errorlevel变量能还原吗?

TOP

回复 3# 踏沙行
用户变量优先,没有时候进入系统默认变量,都没有默认为空变量,不建议改写返回值变量,你可以另取一个替代变量等于返回值
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 4# /zhqsystem/zhq
谢谢,看来只能这样了

TOP

返回列表