本帖最后由 crist 于 2012-8-30 14:43 编辑
代码如下- @echo off
- pushd ~dp0
-
- title 还原Skype聊天记录
-
- if not exist "%ProgramFiles%\WinRAR\Rar.exe" goto error0
- set winrar=%ProgramFiles%\WinRAR\Rar.exe
-
- if exist "D:\Personal\My Documents\Skype\backup" (
- set source=D:\Personal\My Documents\Skype\backup
- ) else (
- set source=backup
- )
-
- :set_id
- cls
- echo 提示:1.任何时候若需中断操作都可直接关闭本程序窗口
- echo 2.备份前请先退出 Skype 程序
- echo 3.支持空格路径,不需要双引号
- echo.
- set "p=%userprofile%\Application Data\skype"
- if exist "%p%" (
- echo 目标路径下检测到以下 Skype 用户名:
- echo.
- for /f "delims=" %%a in ('dir /ad /b /s "%p%\chatsync"') do (
- if exist "%%~dpamain.db" if exist "%%~dpaconfig.xml" (
- for %%b in ("%%a\..") do echo %%~nxb
- )
- )
- ) else (
- echo 未检测到任何 Skype 用户记录
- echo 备份列表中存在以下用户名:
- if exist "%source%\*_*.zip" for /f "delims=_ tokens=1" %%i in ('dir/a/b/o "%source%\*_*.zip"') do echo %%i
- )
复制代码 由于备份列表中一个用户存在多个备份文件,因此代码运行后同一个用户名会被列举多次,请问如何让同一个用户名只列举一次呢?
问题已经解决,不过还有很多东西需要慢慢消化,感谢apang大侠的代码以及他耐心的讲解 |