标题: [求助]怎么写自动备份QQ聊天记录的批处理?
[打印本页]
作者: wjgyz740526
时间: 2010-5-18 19:57
标题: [求助]怎么写自动备份QQ聊天记录的批处理?
想写一个自动备份QQ聊天记录的批处理,坛子里搜了下,有现成的:
http://www.cn-dos.net/forum/view ... B%E5%A4%87%E4%BB%BD
很不错,但是,有缺陷:1.使用了wmic来获取本地硬盘列表,我怕2k、xp不支持,还是用指定盘符好一点;2.现在的qq用户资料位于users目录中,和QQ.exe不在同一目录。我把它改了下,代码如下:
+++++++++++++++++++++++++++++++++++++++++++++++++++
@echo off
echo.
@echo 系统正在定位您QQ的路径,请稍等……
echo.
for /r %%a in (c d e f g h i j k l m n o p q r s t u v w x y z ) do (
for /r "delims=" %%b in ('dir /s /b /a-d %%a:\QQ.exe 2^>NUL') do (if exist "%%b" set QQpath=%%~dpb&goto qq_path)
)
exit
:qq_path
echo 定位完毕,您QQ的路径为: %QQpath%
dir "%QQPath%" /ad /b /w|findstr "^[0-9]*$">%temp%\qqlist.txt
cd /d "%QQPath%"&&cd..&&dir .\users /ad /b /w|findstr "^[0-9]*$">>%temp%\qqlist.txt
@echo 本机所有的QQ号码如下:
@echo ------------------
type %temp%\qqlist.txt
@echo ------------------
for /f "tokens=*" %%i in (%temp%\list.txt) do set pp=%%i&call :copy
:copy
xcopy /s /c /h /q /r /y ".\%pp%" "D:\QQ资料备份\%pp%"
++++++++++++++++++++++++++++++++++++++++++++++++++++++
但是没有成功,请问:
1.怎样用变量来表示某个目录的上级目录?
2.上面得代码哪错了??
谢谢
作者: Hanyeguxing
时间: 2010-5-18 23:14
什么版本的QQ?
作者: wjgyz740526
时间: 2010-5-19 08:42
问题就在于此,如果是2007、2008那么qq用户和qq.exe在同级目录,而2009、2010两者不在同一目录,所以我才需要知道怎样用变量来表示某个目录的上级目录?
我是两个情况都找一下,这样:
dir "%QQPath%" /ad /b /w|findstr "^[0-9]*$">%temp%\qqlist.txt
cd /d "%QQPath%"&&cd..&&dir .\users /ad /b /w|findstr "^[0-9]*$">>%temp%\qqlist.txt
但是没用
作者: Hanyeguxing
时间: 2010-5-19 12:14
1,查找行尾是否为bin\QQ.exe来判断是否为QQ2009
2,如果%r%为2009QQ的主程序路径的话,则,其USER目录为%r:~0,-10%Users
[
Last edited by Hanyeguxing on 2010-5-19 at 12:16 ]
作者: wjgyz740526
时间: 2010-5-20 08:51
Quote: |
Originally posted by Hanyeguxing at 2010-5-19 12:14 PM:
如果%r%为2009QQ的主程序路径的话,则,其USER目录为%r:~0,-10%Users
[ Last edited by Hanyeguxing on 2010-5-19 at 12:16 ] |
|
你这个怎么出来的??你是认为安装到特定目录的吧?如果是自定义目录呢???所以%r:~0,-10%这个可能会出错的
作者: Hanyeguxing
时间: 2010-5-20 13:54
Quote: |
Originally posted by wjgyz740526 at 2010-5-20 08:51:
你这个怎么出来的??你是认为安装到特定目录的吧?如果是自定义目录呢???所以%r:~0,-10%这个可能会出错的 |
|
楼主真是愁死我了,以安装目录为D:\Program Files\QQ2009示例,QQ在D:\Program Files\QQ2009\Bin目录,记录是在D:\Program Files\QQ2009\Users。Bin和Users和安装目录的子目录。
如果%r%为2009QQ的主程序路径的话,则,其USER目录为%r:~0,-10%Users。也就是说,如果D:\Program Files\QQ2009\Bin\QQ.exe,,则D:\Program Files\QQ2009\Users为记录目录。
作者: wjgyz740526
时间: 2010-5-20 16:28
刚又认真看了下set帮助,总算理解了——以前一直没这么用过,谢谢楼上的兄弟!
其实 昨天我用自己的那个笨方法已经成功了,但是觉得那样实在是笨才提问的
谢谢!