![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 22:00 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]怎么自动搜索QQ的路径并复制一个程序进去运行 |
| 可打印版本 2,563 / 15 |
| 第1楼 AKC | 发表于 2008-10-01 21:19 |
| 新手上路 发帖 3 积分 10 | |
|
[已结]怎么自动搜索QQ的路径并复制一个程序进去运行 小弟想做个随身的U盘QQ登陆程序,主程序好了,可我不知道怎么自动复制到别人电脑的QQ目录下运行,求版主大大指教啊!
(要设置QQ的变量吗?) 谢谢各位的帮助哈,不过怎么实现把程序考进QQ的目录呢?(我的意思是能否启动一次BAT程序就实现将文件拷贝进QQ的目录里并运行) ![]() 这命令行不? 用tireless兄的 显示文件名、目录或卷标语法不正确 [ Last edited by HAT on 2008-12-5 at 22:52 ] |
|
| 第2楼 hackate | 发表于 2008-10-01 22:08 |
| 中级用户 发帖 125 积分 228 | |
|
@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% pause 这个代码是获取QQ的安装目录啊。 |
|
| 第3楼 tireless | 发表于 2008-10-01 22:54 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
---------------------
[ Last edited by tireless on 2008-10-3 at 19:30 ] |
|
| 第4楼 tireless | 发表于 2008-10-01 23:20 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
奇怪,执行:
得到的结果是 D:\Program Files\深度 DEEPQ 而正确的路径是 D:\Program Files\深度 DEEPQQ\ 为什么? [ Last edited by tireless on 2008-10-1 at 23:27 ] |
|
| 第5楼 23112656 | 发表于 2008-10-02 03:36 |
| 中级用户 发帖 99 积分 220 | |
|
for /f "skip=4 tokens=2*" %a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ /v Install') do @echo %b
少了SP3补丁.装上就没问题了.以前我也遇到过. reg对中文识别好像不健全.是HAT大哥告诉我的. [ Last edited by 23112656 on 2008-10-2 at 03:39 ] |
|
| 第6楼 tireless | 发表于 2008-10-02 11:01 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
在命令提示符下,reg query 显示的结果是完整的。
而将 reg query 的结果输出到文件就会少字符。。 [ Last edited by tireless on 2008-10-4 at 12:30 ] |
|
| 第7楼 tireless | 发表于 2008-10-04 12:00 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
只能先把注册表导出。
|
|
| 第8楼 HAT | 发表于 2008-10-04 12:42 |
| 版主 发帖 5,017 积分 9,023 | |
|
XP SP2中文版的reg.exe有bug,当reg query遇到中文字符时可能会"吃字符",详见http://www.cn-dos.net/forum/viewthread.php?tid=22202
解决方案如下: 1. 用XP SP2以上的版本的操作系统(XP SP3/2003/Vista等,XP SP2英文版也可)中的reg.exe来替换XP SP2中文版的reg.exe 2. 调用VBS读注册表,并把返回结果传递给BAT 3. 用reg export把注册表项导出到一个临时文件,再搜索该文件,值得注意的是reg export导出的文件是Unicode编码格式,可以使用type命令进行处理 |
|
| 第9楼 exzzz | 发表于 2008-12-05 17:26 |
| 初级用户 发帖 167 积分 194 | |
|
不如用下面这个咯,说不定你有好几个QQ呢,也或者是用的绿色版的没有注册表路径呢?
那就开着QQ运行下面的批处理吧。 echo off title 这个程序可显示内存中正运行的程序“QQ.EXE”的路径 cls for /f "delims==" %%a in ('wmic process where caption^="qq.exe" get CommandLine^|find "QQ.exe"') do set qqpath=%%a set qqpath=%qqpath:~1,-11% echo %qqpath% pause set qqpath |
|
| 第10楼 5551551 | 发表于 2008-12-05 19:30 |
| 初级用户 发帖 39 积分 37 | |
Originally posted by exzzz at 2008-12-5 05:26 PM: 这位兄弟批处理变量用得活灵活现的 |
|
| 第11楼 HAT | 发表于 2008-12-05 20:03 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 9楼 如果人家没有运行QQ咋办呢,呵呵。
|
|
| 第12楼 ZJHJ | 发表于 2008-12-05 22:14 |
| 高级用户 发帖 374 积分 609 | |
|
@echo off
for %%f in (C D E F G H I J K L M N O P) do ( for /f %%i in ('dir %%f:\qq.exe /a /b /s') do set qq=%%i ) start %qq% |
|
| 第13楼 ooaf | 发表于 2008-12-05 22:32 |
| 中级用户 发帖 162 积分 313 | |
|
彩虹QQ补丁 绿色版 好像不用运行qq 也能找到qq 的路径, 是最后一次运行qq 的路径, 不知咋原理?
|
|
| 第14楼 ZJHJ | 发表于 2008-12-05 22:44 |
| 高级用户 发帖 374 积分 609 | |
|
这个符合要求不?
[ Last edited by ZJHJ on 2008-12-5 at 22:46 ] |
|
| 第15楼 bluewaterx | 发表于 2008-12-06 09:32 |
| 初级用户 发帖 68 积分 132 | |
|
绿色版的QQ也可以识别,只要运行一次,注册表中就有路径存在
@echo off setlocal enabledelayedexpansion for /f "skip=4 delims=" %%i in ('reg query HKEY_CLASSES_ROOT\CLSID\{2D616D8F-F1BA-43A1-BEF0-E2A82A0FBD56}\LocalServer32 /ve 2^>nul') do set qqPath=%%i&set qqPath=!qqPath:~14!&set tmpVar=0&call :subPathChange "!qqPath!" echo !qqPath!&pause&exit :subPathChange if !tmpVar! equ 0 set tmpVar=1&set qqPath=%~fs1&call :subPathChange "!qqPath!" set qqPath=%~dp1 goto :eof |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |