中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 怎么用reg export 截取QQ路径 上一主题 | 下一主题
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『楼 主』:  怎么用reg export 截取QQ路径

本来用QQ登录的话,HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ 的Install项的值就会是QQ的路径。

例如我的是



如果用reg export "HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ" 1.reg

导出用记事本打开后是  (我的机子而言)

  Quote:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ]
"Install"="E:\\QQ\\"
"Uindata"=dword:483857e3

意思写明白点:
如何把1.reg中的 以开头为"Install"= 那项值取出来,并作为变量。(方便下文使用的变量)
要求取出来的值不包括双引号。就是路径。如 E:\\QQ\\

2008-5-24 19:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 2 楼』:  

用不着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


2008-5-24 20:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 3 楼』:  

谢谢~~不过你的 %i  是不是要改为%%i呢,不然运行不了呢

2008-5-25 07:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

QQ安装路径有空格的时候,2楼的代码会出错。



2008-5-25 08:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 5 楼』:  

%i和%%的變化i既然知道,就用不著提了
對應有空格的,在最後要用的%i上套上引號就行了

2008-5-25 09:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by pooronce at 2008-5-25 09:24 AM:
%i和%%的變化i既然知道,就用不著提了
對應有空格的,在最後要用的%i上套上引號就行了

问题不出在最后那个%i上面,而是你提取那一列的问题。



2008-5-25 09:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pooronce
中级用户





积分 484
发帖 250
注册 2007-6-5
状态 离线
『第 7 楼』:  

哦,对啊,倒没想到。
刚刚检测确定了一下,中间两个是TAB的,这样就好办多了
for /f "tokens=3 delims=        " %i in ('reg query HKLM\Software\Tencent\QQ /v Install^|find "Install"') do @echo "%i"


2008-5-25 10:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 8 楼』:  

不行。运行不了。运行会出错

能不能万能一点儿,不管有没有空格,而且生成的路径前后不包括双引号的呢。

2008-5-26 11:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by kidzgy at 2008-5-26 11:43 AM:
不行。运行不了。运行会出错

能不能万能一点儿,不管有没有空格,而且生成的路径前后不包括双引号的呢。

因为论坛会把tab键转换为空格,你拷贝7楼的代码后,自行把delims设置为tab键就行了。



2008-5-26 12:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

这样也可以:
@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%




2008-5-26 12:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tao0610
高级用户

朦胧的世界


积分 579
发帖 218
注册 2006-10-24
状态 离线
『第 11 楼』:  


for /f "tokens=2*" %a in ('reg query HKLM\Software\Tencent\QQ /v Install^|find "Install"') do echo %b


   此帖被 +4 点积分        点击查看详情   
评分人:【 pooronce 分数: +4  时间:2008-7-23 13:38





认识自己,降伏自己,改变自己
,才能改变别人!
2008-5-26 13:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by HAT at 2008-5-26 12:28 PM:
这样也可以:

[CODE]@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 取出来喔~
我想多掌握点知识。

2008-5-26 16:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  



  Quote:
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%




2008-5-26 16:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 14 楼』:  

不行,得出的是 "=

2008-5-26 18:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 15 楼』:  

是编码的原因吧,reg export导出的1.reg文件是UNICODE编码,建议放弃这个方法。



2008-5-26 19:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: