Board logo

标题: [注册表类] 【已解决】批处理怎样从注册表提取软件路径? [打印本页]

作者: 小智BAT    时间: 2014-12-6 19:50     标题: 【已解决】批处理怎样从注册表提取软件路径?

本帖最后由 小智BAT 于 2014-12-8 17:34 编辑

注册表内容为:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
"C:\\Program Files (x86)\\sssinn\\stpms\\WebFrontOfficeBrowser.exe"=dword:00000001

如题:我要提取的路径为:C:\Program Files (x86)\sssinn\stpms\

因为我要获得该目录路径,然后复制东西。但是Program Files (x86)\sssinn\stpms\都是不固定的,使用要读取注册表SharedDlls下找到WebFrontOfficeBrowser.exe截取前面的路径。

哪位大神可以实现??
作者: apang    时间: 2014-12-6 20:52

试试
  1. @echo off
  2. set "key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs"
  3. set "re=\\WebFrontOfficeBrowser\.exe\>"
  4. for /f "tokens=*" %%a in ('reg query "%key%"^|findstr /i "%re%"') do (
  5.         set "var=%%~dpa"
  6. )
  7. echo,%var%
  8. pause
复制代码

作者: 小智BAT    时间: 2014-12-6 21:44

回复 2# apang


    哪里错了?居然输出没显示。。。。。。
作者: 小智BAT    时间: 2014-12-6 21:48

回复 2# apang


    win8,win7下没显示。xp正常。。。为什么会这样?
作者: apang    时间: 2014-12-6 22:05

回复 4# 小智BAT


    呃,我的win7显示正常
把 findstr /i "%re%" 改成 find /i "\WebFrontOfficeBrowser.exe" 试试
作者: 小智BAT    时间: 2014-12-7 08:14

回复 5# apang


    还是没显示。。。我的是64位系统。。。
作者: DAIC    时间: 2014-12-7 08:42

  1. reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls > a.txt
复制代码
看看a.txt里面有WebFrontOfficeBrowser.exe吗?你确定Win7 x64也是这个注册表路径吗?
作者: 小智BAT    时间: 2014-12-7 13:30

回复 7# DAIC


    通过注册查看是这个路径,通过软件检测也是这个路径,但是运行你给的bat,那文本里面却没有显示。。。。奇怪了。。。你知道为什么啊?
作者: DAIC    时间: 2014-12-8 15:02

回复 8# 小智BAT


文本是空的?
还是仅仅没有 WebFrontOfficeBrowser 这个?
作者: 小智BAT    时间: 2014-12-8 17:32

回复 9# DAIC


    应该是64位的问题,我用32位调用就正常了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2