中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 16:25
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [分享]系统资料备份及转移程序
可打印版本  799 / 1
第1楼 chishingchan 发表于 2007-11-27 12:56
银牌会员 发帖 538 积分 1,284
[分享]系统资料备份及转移程序
系统资料备份及转移程序半成品,鉴于自己技术有限,所以发上来让有心人去完成。

大概流程:
1、检测目录位置;
2、检测是否有资料;排除 Desktop.ini 外的所有文件
3、复制备份到指定盘并打包(再配合生成的批处理进行改变后的路径恢复);
4、修改各位置的注册表相关项的路径;

附件不能上传,只能贴了。

@echo off
title 系统资料备份及转移程序 1.0
echo 即将备份以下位置的系统资料

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal ^|findstr "Personal"') do @set MD=%%b
echo 我的文档 位置:%MD%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites ^|findstr "Favorites"') do @set F=%%b
if not exist "%F%\*.URL" set F=没有资料可备份
echo 收藏夹 位置:%F%

for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Pictures" ^|findstr "Pictures"') do @set MP=%%b
if not exist "%MP%\*.JPG" if not exist "%MP%\*.BMP" if not exist "%MP%\*.GIF" if not exist "%MP%\*.PNG" set MP=没有资料可备份
echo 图片收藏 位置:%MP%

for /f "tokens=3*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "My Music" ^|findstr "Music"') do @set MM=%%b
if not exist "%MM%\*.MP3" if not exist "%MM%\*.WAV" if not exist "%MM%\*.WMA" set MM=没有资料可备份
echo 我的音乐 位置:%MM%

for /f "tokens=2*" %%a in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Fax\Inbox" /v Folder 2^>nul^|findstr "Folder"') do @set I=%%b
if not exist "%I%\nul" set I=没有资料可备份
echo 接收传真 位置:%I%
for /f "tokens=2*" %%a in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Fax\SentItems" /v Folder 2^>nul^|findstr "Folder"') do @set S=%%b
if not exist "%S%\nul" set S=没有资料可备份
echo 发送传真 位置:%S%

for /f "tokens=2 delims={}" %%a in ('REG QUERY HKCU\Identities /v "Default User ID"^|findstr /i "Default"') do @set OE=%UserProfile%\Local Settings\Application Data\Identities\{%%a}\Microsoft\Outlook Express
:: if not exist "%OE%\nul" set OE=没有资料可备份
echo OE邮件 位置:%OE%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cookies ^|findstr "Cookies"') do @set C=%%b
echo Cookies 位置:%C%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop ^|findstr "Desktop"') do @set D=%%b面
echo 桌面 位置:%D%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v History ^|findstr "History"') do @set H=%%b
echo History 位置:%H%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Environment" /v TEMP ^|findstr "TEMP"') do @set TE=%%b
echo TEMP 位置:%TE%
echo TEMP 位置:%TEMP%

for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Environment" /v TMP ^|findstr "TMP"') do @set T=%%b
echo TMP 位置:%T%
echo TMP 位置:%TMP%

set /P OK=请输入转移的目的地:(例如:C:、D:、E:、F:...)
第2楼 nbmu 发表于 2007-11-28 10:49
新手上路 发帖 6 积分 12
好 谢谢楼主
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023