楼 主
怎么用reg export 截取QQ路径
发表于 2008-05-24 19:53 · 中国 广东 梅州 电信
中级用户
★★
积分 262 发帖 129 注册 2007-07-11 06:50 UID 93679 性别 男
状态 离线
本来用QQ登录的话,HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ 的Install项的值就会是QQ的路径。
例如我的是
如果用reg export "HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ" 1.reg
导出用记事本打开后是 (我的机子而言)
Windows Registry Editor Version 5.00
"Install"="E:\\QQ\\"
"Uindata"=dword:483857e3
意思写明白点:
如何把1.reg中的 以开头为"Install"= 那项值取出来,并作为变量。(方便下文使用的变量)
要求取出来的值不包括双引号。就是路径。如 E:\\QQ\\
第 2 楼
发表于 2008-05-24 20:37 · 中国 上海 鹏博士宽带
中级用户
★★
积分 484 发帖 250 注册 2007-06-05 23:33 UID 90372 性别 男
状态 离线
用不着reg export,直接reg query套在for里面就行了:
for /f "tokens=3" %i in ('reg query HKLM\Software\Tencent\QQ /v Install^|find "Install"') do @echo %i
如果一定要export后再分析文件的话
就
for /f "tokens=2 delims==" %i in ('findstr "Install" 1.reg') do @echo %~i
第 3 楼
发表于 2008-05-25 07:36 · 中国 广东 梅州 电信
中级用户
★★
积分 262 发帖 129 注册 2007-07-11 06:50 UID 93679 性别 男
状态 离线
谢谢~~不过你的 %i 是不是要改为%%i呢,不然运行不了呢
第 4 楼
发表于 2008-05-25 08:23 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
第 5 楼
发表于 2008-05-25 09:24 · 中国 上海 鹏博士宽带
中级用户
★★
积分 484 发帖 250 注册 2007-06-05 23:33 UID 90372 性别 男
状态 离线
%i和%%的變化i既然知道,就用不著提了
對應有空格的,在最後要用的%i上套上引號就行了
第 6 楼
发表于 2008-05-25 09:47 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
Originally posted by pooronce at 2008-5-25 09:24 AM:
%i和%%的變化i既然知道,就用不著提了
對應有空格的,在最後要用的%i上套上引號就行了
问题不出在最后那个%i上面,而是你提取那一列的问题。
第 7 楼
发表于 2008-05-25 10:19 · 中国 上海 鹏博士宽带
中级用户
★★
积分 484 发帖 250 注册 2007-06-05 23:33 UID 90372 性别 男
状态 离线
哦,对啊,倒没想到。
刚刚检测确定了一下,中间两个是TAB的,这样就好办多了
for /f "tokens=3 delims= " %i in ('reg query HKLM\Software\Tencent\QQ /v Install^|find "Install"') do @echo "%i"
第 8 楼
发表于 2008-05-26 11:43 · 中国 广东 梅州 电信
中级用户
★★
积分 262 发帖 129 注册 2007-07-11 06:50 UID 93679 性别 男
状态 离线
不行。运行不了。运行会出错
能不能万能一点儿,不管有没有空格,而且生成的路径前后不包括双引号的呢。
第 9 楼
发表于 2008-05-26 12:26 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
Originally posted by kidzgy at 2008-5-26 11:43 AM:
不行。运行不了。运行会出错
能不能万能一点儿,不管有没有空格,而且生成的路径前后不包括双引号的呢。
因为论坛会把tab键转换为空格,你拷贝7楼的代码后,自行把delims设置为tab键就行了。
第 10 楼
发表于 2008-05-26 12:28 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
这样也可以:
@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do (
set QQPathL=%%a
set QQPathR=%%b
)
set QQPath=%QQPathL:~-1%:%QQPathR%
echo %QQPath%
第 11 楼
发表于 2008-05-26 13:47 · 中国 北京 鹏博士BGP
高级用户
★★
朦胧的世界
积分 579 发帖 218 注册 2006-10-24 04:29 UID 67972
状态 离线
for /f "tokens=2*" %a in ('reg query HKLM\Software\Tencent\QQ /v Install^|find "Install"') do echo %b
认识自己,降伏自己,改变自己 ,才能改变别人!
第 12 楼
发表于 2008-05-26 16:21 · 中国 广东 梅州 电信
中级用户
★★
积分 262 发帖 129 注册 2007-07-11 06:50 UID 93679 性别 男
状态 离线
Originally posted by HAT at 2008-5-26 12:28 PM:
这样也可以:
@echo off
for /f "skip=4 tokens=1,2 delims=:" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do (
set QQPathL=%%a
set QQPathR=%% ...
这个自己知道的了,可是我的问题是用reg export 取出来喔~
我想多掌握点知识。
第 13 楼
发表于 2008-05-26 16:45 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
Originally posted by kidzgy at 2008-5-26 04:21 PM:
这个自己知道的了,可是我的问题是用reg export 取出来喔~
我想多掌握点知识。
@echo off
for /f "tokens=2 delims==" %%a in ('findstr /i "Install" "C:\test\1.reg"') do set qqpath=%%a
set qqpath=%qqpath:"=%
echo %qqpath%
第 14 楼
发表于 2008-05-26 18:39 · 中国 广东 梅州 电信
中级用户
★★
积分 262 发帖 129 注册 2007-07-11 06:50 UID 93679 性别 男
状态 离线
第 15 楼
发表于 2008-05-26 19:20 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
是编码的原因吧,reg export导出的1.reg文件是UNICODE编码,建议放弃这个方法。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正