无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4899|回复: 11
打印 上一主题 下一主题

[求助] 64位win7内存系统读取注册表失败,是什么原因?

[复制链接]
跳转到指定楼层
1#
发表于 2015-9-10 22:03:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一段批处理
cd /d "%~dp0"
for /f "tokens=1,2 delims=:" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR" ^| find /i "exe64"') do (
    set "strR=%%i"
    set "strS=%%j"
)
set "RAR=%strR:~-1%:%strS%"
这段批处理没有问题,32位下完全正常,64位系统下,用鼠标双击也很运行也很正常。
但就是用在64位WIN 7的系统下,用自解压程序解压运行的批处理打开后,读不到注册表内容,总是读不到内容,为什么会有这总情况呢。如果需要双击来运行,又失去了做自解压单文件的意义...怎么解决这个问题呢。
2#
发表于 2015-9-10 22:08:28 | 只看该作者
本帖最后由 nttwqz 于 2015-9-10 22:17 编辑

说来也奇怪,我的Win8.1 64位下执行也正常。
回复

使用道具 举报

3#
 楼主| 发表于 2015-9-10 22:13:16 | 只看该作者
nttwqz 发表于 2015-9-10 22:08
楼主一定是没有看reg的帮助,不妨每次看下。

呵呵,我菜鸟一个,就是上面那一段,也是网上抄的,在WIN764位下用就出问题了。。。
回复

使用道具 举报

4#
 楼主| 发表于 2015-9-10 22:17:07 | 只看该作者
只求一个能用的批处理足矣。

点评

你这个批处理是不是用读取注册表的方法确定WinRAR.exe的路径?  详情 回复 发表于 2015-9-10 22:30
回复

使用道具 举报

5#
发表于 2015-9-10 22:30:25 | 只看该作者
offree 发表于 2015-9-10 22:17
只求一个能用的批处理足矣。

你这个批处理是不是用读取注册表的方法确定WinRAR.exe的路径?
回复

使用道具 举报

6#
 楼主| 发表于 2015-9-10 22:42:56 | 只看该作者
nttwqz 发表于 2015-9-10 22:30
你这个批处理是不是用读取注册表的方法确定WinRAR.exe的路径?

嗯,是的,找安装后的WinRAR.exe程序路径,

点评

cd /d "%~dp0" for /f "tokens=1,2 delims=:" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR" /reg:64 ^| find /i "exe64"') do ( set "strR=%%i" set "strS=%%j" ) set "RAR=%strR:~-1%:%s  详情 回复 发表于 2015-9-10 23:47
回复

使用道具 举报

7#
发表于 2015-9-10 23:47:33 | 只看该作者
offree 发表于 2015-9-10 22:42
嗯,是的,找安装后的WinRAR.exe程序路径,

cd /d "%~dp0"
for /f "tokens=1,2 delims=:" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR" /reg:64 ^| find /i "exe64"') do (
    set "strR=%%i"
    set "strS=%%j"
)
set "RAR=%strR:~-1%:%strS%"
回复

使用道具 举报

8#
发表于 2015-9-11 18:55:38 | 只看该作者
用自解压程序是32的,。。
所以,你的注册表路径"HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR" ===>"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\WinRAR"

就可以了
回复

使用道具 举报

9#
发表于 2015-9-11 18:57:39 | 只看该作者
ser regroot=HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" set regroot=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\WinRAR

就万无一失了

点评

Wow6432Node下没有WinRAR,我装的是64位系统,64位WinRAR……  详情 回复 发表于 2015-9-11 19:22
回复

使用道具 举报

10#
发表于 2015-9-11 19:22:43 | 只看该作者
超级坏蛋 发表于 2015-9-11 18:57
ser regroot=HKEY_LOCAL_MACHINE\SOFTWARE\WinRAR
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" set regroot=H ...

Wow6432Node下没有WinRAR,我装的是64位系统,64位WinRAR……
回复

使用道具 举报

11#
发表于 2015-9-11 19:56:15 | 只看该作者
那就换个64位自解压壳,。。
回复

使用道具 举报

12#
发表于 2015-9-11 19:58:55 | 只看该作者
或者,运行批处理install.cmd时,指定到64的cmd.exe

%windir%\system32\cmd.exe /c .\install.cmd
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 13:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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