找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28212|回复: 10

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

[复制链接]
发表于 2013-6-27 20:08:17 | 显示全部楼层 |阅读模式
各位朋友,大家好,我用W7 X64系统

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

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

最后感谢关注此贴的朋友,更感谢解答疑问的朋友,谢谢!
发表于 2013-6-27 20:28:41 | 显示全部楼层
请把完整代码贴出来看看
发表于 2013-6-27 22:09:56 | 显示全部楼层
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项下。
 楼主| 发表于 2013-6-28 00:43:27 | 显示全部楼层
回复 3# apang


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

还有第二个问题,你知道如何解决吗?
发表于 2013-6-28 13:10:45 | 显示全部楼层
回复 4# hzusb


    请看2楼
 楼主| 发表于 2013-7-2 22:39:14 | 显示全部楼层
回复 5# Python

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

代码一:
reg query "HKLM\SOFTWARE\Tencent\QQ\2009" /v "InstallPath"         
代码二:
reg query "HKLM\SOFTWARE\Wow6432Node\Tencent\QQ\2009" /v "InstallPath"
发表于 2013-7-3 08:28:37 | 显示全部楼层
回复 6# hzusb


    3楼的解答你怎么看?
 楼主| 发表于 2013-7-3 08:36:39 | 显示全部楼层
回复 7# Python


    代码我已经贴出来了,请给有意义的回复。
发表于 2013-7-3 08:46:42 | 显示全部楼层
回复 8# hzusb


    3楼的解答你看不懂?
 楼主| 发表于 2013-7-3 09:20:59 | 显示全部楼层
回复 9# Python

32位和64位的系统我还需要做出判断并给出不同的代码?
发表于 2013-7-3 12:34:10 | 显示全部楼层
回复 10# hzusb


    是的,你需要首先判断操作系统的位数。想要实现代码的通用性,必须考虑周全。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 12:05 , Processed in 0.011413 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表