王朝网络
分享
 
 
 

用批处理做备份注册表程序

王朝other·作者佚名  2008-10-07
宽屏版  字体: |||超大  

大家知道,WINDOWS操作系统对注册表的保护有一个非常实用的功能,就是系统在用户当天第一次开机时会自动将WINDOWS\目录下的

SYSTEM.DAT SYSTEM.INI USER.DAT WIN.INI

这四个注册表文件打成CAB包存放在WINDOWS\SYSBCKUP\目录下,由于系统默认保存最近5个开机日备份的注册表文件包,所以它们分别以rb000.cab~rb004.cab命名存放。

对于这个CAB文件包,我们可以在DOS状态下用WINDOWS\COMMAND\目录下的EXTRACT.EXE来解压,也可以在DOS状态下进入windows\目录用命令:

scanreg.exe/restore

来恢复注册表。相信WINDOWS提供的这个功能一定帮助了不少的注册表狂热分子来对付注册表崩溃吧?但每次恢复都要记住这些命令,参数,路径,实在是太麻烦啦。大家有没有想过自已也来做一个每日第一次开机自动备份注册表文件呢?其实我们完全可以通过批处理来完成这一功能,下面这个批处理就是只在每日第一次开机时备份注册表文件到一个自定义的文件夹,恢复时只要直接把文件拷贝过去,或者再做一个批处理,让它自动恢复就行啦。是不是方便多了呢?

下面来看看如何做这个批处理文件:

1、首先在C:新建一个供操作的目录:regback

C:\MD REGBACK

2、在该目录下做一个当日日期文件date1.txt

c:\echo.|date>c:\regback\date1.txt

由于DATE命令是一个显示与修改当前日期的命令,当不需要修改日期时,则需要由用户按回车键结束这个命令,为了尽量减少在程序实现过程中的人为干预,我在这里用管道命令将ECHO.产生的回车传递给date命令,以达到DATE命令能自动完成的目的。在下面的批处理中还将要用到这一命令。

3、新建一个regback.bat文件,并用记事本打开输入以下内容:

echo off \\关闭回显

echo.|date>c:\regback\date2.txt \\新建一个当日日期文件 date2.txt

cls

fc c:\regback\date1.txt c:\regback\date2.txt>c:\regback\fc.txt \\对比已有的

日期文件与今日日期文件并将对比结果保存为fc.txt

type c:\regback\fc.txt|find "-" \\查找对比结

果中是否存在日期分隔符"-",如果有则说明两日期

文 件不相同(即不是同一天的日期文件).

if errorlevel 1 goto noback \\如果没有找

到"-"即两个日期文件为同一天日期文件,转至noback

REM **如果两个日期文件不相同,则执行以下程序***

del c:\regback\*.dat

del c:\regback\*.ini \\删除当前的过期备份

cd regback

attrib -s -h -r c:\windows\system.dat

copy c:\windows\system.dat

attrib +s +h +r c:\windows\system.dat

attrib -s -h -r c:\windows\system.ini

copy c:\windows\system.ini

attrib +s +h +r c:\windows\system.ini

attrib -s -h -r c:\windows\user.dat

copy c:\windows\user.dat

attrib +s +h +r c:\windows\user.dat

attrib -s -h -r c:\windows\win.ini

copy c:\windows\win.ini

attrib +s +h +r c:\windows\win.ini \\以上操作是备份注册表文件

del date1.txt

ren date2.txt date1.txt \\完成日期文件的更新

del fc.txt

echo Back up and finish ! \\显示备份完成提示

goto end \\备份完成,转向END

:noback \NOBACK分支,当两个日期文件

相同(即同日的日期文件)时执行这 个分支

echo today is backup \\显示提示:今日已备份过注册表文件

del c:\regback\date2.txt

del c:\regback\fc.txt \\删除产生的垃圾文件

:end

4、将以上bat文件保存到C:\下,并在autoexec.bat中加入一句

call regback.bat

call命令的功能是在DOS批处理文件中调用另一个批处理而不会引起本批处理程序中断,它所调用的批处理可以是一个带参数的批处理程序。这样,在每次启动计算机时,就会自动运行这个批处理,但这个批处理只会在每天的第一次开机时备份注册表。

经过以上操作之后,我们可以试着运行一下这个批处理程序,你会发现屏幕提示(如图today.jpg)是:today is backup,这是因为date1.txt是我们今天用手动产生的日期文件,与批处理产生的date2.txt是同一天的日期文件,所以它不会备份注册表。进入c:\regback\打开date1.txt,把日期:04-22-2003更改为:04-21-2003,再运行看看,是不是提示备份注册表完成?(如图:finish.jpg)

你还可以很轻易地做一个注册表还原批处理,这样,就算以后注册表崩溃了,也不用费脑筋去想那些路径命令什么的了^_^

regback.bat清单

*******************************************************

echo off

echo.|date>c:\regback\date2.txt

cls

fc c:\regback\date1.txt c:\regback\date2.txt>c:\regback\fc.txt

type c:\regback\fc.txt|find "-"

if errorlevel 1 goto noback

REM **如果两个日期文件不相同,则执行以下程序***

del c:\regback\*.dat

del c:\regback\*.ini

cd regback

attrib -s -h -r c:\windows\system.dat

copy c:\windows\system.dat

attrib +s +h +r c:\windows\system.dat

attrib -s -h -r c:\windows\system.ini

copy c:\windows\system.ini

attrib +s +h +r c:\windows\system.ini

attrib -s -h -r c:\windows\user.dat

copy c:\windows\user.dat

attrib +s +h +r c:\windows\user.dat

attrib -s -h -r c:\windows\win.ini

copy c:\windows\win.ini

attrib +s +h +r c:\windows\win.ini

del date1.txt

ren date2.txt date1.txt

del fc.txt

echo Back up and finish !

goto end

:noback

echo today is backup

del c:\regback\date2.txt

del c:\regback\fc.txt

:end

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有