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

[注册表类] 批处理读取64位系统注册表为何出错?

各位朋友,大家好,我用W7 X64系统

做了一个bat文件,其中代码:用 reg query 读取HKLM\SOFTWARE下面键值时,自动读取到HKLM\SOFTWARE\Wow6432Node下面去了,这是什么原因,如何才能决定读取哪个路径,请朋友详解一下,谢谢

还有个问题,双击bat文件,代码不执行,窗口一闪而过,最后,放个pause都不暂停。但是用CMD窗口执行代码又可以执行

最后感谢关注此贴的朋友,更感谢解答疑问的朋友,谢谢!

回复 10# hzusb


    是的,你需要首先判断操作系统的位数。想要实现代码的通用性,必须考虑周全。

TOP

回复 9# Python

32位和64位的系统我还需要做出判断并给出不同的代码?

TOP

回复 8# hzusb


    3楼的解答你看不懂?

TOP

回复 7# Python


    代码我已经贴出来了,请给有意义的回复。

TOP

回复 6# hzusb


    3楼的解答你怎么看?

TOP

回复 5# Python

假设下面代码一的值为:C:\,代码二的值为:D:\,但是:批处理运行“代码一”时得到的是“代码二”的值

代码一:
reg query "HKLM\SOFTWARE\Tencent\QQ\2009" /v "InstallPath"         
代码二:
reg query "HKLM\SOFTWARE\Wow6432Node\Tencent\QQ\2009" /v "InstallPath"

TOP

回复 4# hzusb


    请看2楼

TOP

回复 3# apang


谢谢,你的意思是我的bat文件自动调用了32位的reg.exe?但我的CMD窗口是64位的啊?

还有第二个问题,你知道如何解决吗?

TOP

win7 64bit系统中,%systemroot%\system32\存储的是64位程序,%systemroot%\syswow64\存储的是32位程序
HKLM\SOFTWARE\HKLM\SOFTWARE\Wow6432Node项下是32位应用程序的注册表值
如果用%systemroot%\syswow64\reg.exe访问注册表HKLM\SOFTWARE项时,系统会自动重定向到HKLM\SOFTWARE\HKLM\SOFTWARE\Wow6432Node项下。

TOP

请把完整代码贴出来看看

TOP

返回列表