设为首页 | 加为收藏 | 联系我们 咨询热线:0632-5272123
电 话:0632-5272123
传 真:0632-5271123
地 址: 枣庄市文化西路23号
E-mail:zzint@zzint.com
  • 技术咨询:
  • 业务咨询:
  • 客户服务:
  • 服务监督:
详细资料 您当前的位置:网站首页新闻动态详细资料

批处理自动备份的写法

虽然windows自带ntbackup很好使,但是好像缺少个压缩功能,或许是我不会吧,而且由于磁盘空间的限制,得定期删除旧文件,懒得使用第三方软件,还是自己编个批处理,加上系统的任务计划。

首先计算机要安装Winrar,我是默认安装的,安装路径就是c:\Program Files\winrar\

开始备份吧。

比如要备份 D:\WEB这个文件夹 到 F:\bak文件夹下面,

命令如下

start c:\"Program Files"\winrar\rar a -k -r -s -m1 -agYYYYMMDD-{bak}-NN F:\BAK\ D:\WEB\

就这一条命令就能搞定了,解释下这条命令,a是添加文件到压缩包,-k是锁定压缩包,-s是转换文件为解压缩文件,-m1是压缩的标准,就是快速压缩,标准压缩,好压缩......,-ag是指定生成的文件名,按照我的设置生成的文件名为20091223-bak-02.rar,生成以日期命名的压缩文件,F:\BAK\是生成压缩包存放路径,D:\WEB\是压缩目标。详细的压缩参数可在命令行输入c:\"Program Files"\winrar\rar /?或者进入c:\"Program Files"\winrar\ 目录,里面有个使用帮助.chm的文件。

如果生成的备份文件需要覆盖上次生成的文件,那命令就更简单了。

命令如下

start c:\"Program Files"\winrar\rar a -k -r -s -m1 F:\BAK\每日备份.rar D:\WEB\

这条命令我不解释了,参照上面的应该能够理解。

下面是删除旧的备份文件。

由于我硬盘只有100G,每天大概备份文件是10G,所以我是设置为每周星期天删除7天前的备份文件。

命令如下:

set deltime=%date:~0,10%
forfiles.exe /p E:\ /s /m *.rar /d -7 /c "cmd /c del /s @path >>D:\log\%deltime%.txt"

set deltime=%date:~0,10%这句是取一个当前时间的变量,forfiles.exe是系统文件,查找文件的。

/P是定义查找的路径

E:\是定义查找路径E盘下面

/S是定义查找范围包括子目录

/M *.rar 定义查找*.rar的文件

/D 是当前时间

-7 早于或者等于当前时间减7天,也就是7天前

/C 是调用命令行CMD.EXE的命令

"cmd /c del /s @path >>D:\log\%deltime%.txt" 这个是删除查找到的文件,并且把删除文件的文件名导出到
D:\log\%deltime%.txt这个txt文档

%deltime%是系统变量,如果当前时间是20091223,那么生成的文件就是D:\log\20091223.txt,其实导出这个列表只是为了方便查看删除了那些东西

把两个批处理保存为bak.bat 和del.bat,前面是备份的,后面是删除旧的备份文件。然后利用任务计划设置运行的时间,按照我的需要,我设置是

每日01:30运行bak.bat

每周日23:00运行del.bat



上篇文章:公司最新版OA系统技术参数
下篇文章:滕州市政府采购报价详细说明
版权所有 枣庄市英特信息网络有限公司 ◎2017
联系电话:0632-5271123 5272123  总部地址:枣庄市市中区文化西路23号
鲁ICP备09021689号 增值电信业务经营许可证编号:鲁 B2-20080087号