批处理备份删除文件

批处理自动备份文件并且压缩以及自动删除旧文件(2014-04-16 17:33:28)转载▼
标签: windows自动删除磁盘满删除it 分类: Windows
首先计算机要安装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是指定生成的文件名,按照我的设置生成的文件名为20140416-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%是系统变量,如果当前时间是20140416,那么生成的文件就是D:\log\20140416.txt,其实导出这个列表只是为了方便查看删除了那些东西

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

每日01:30运行bak.bat

每周日23:00运行del.bat

相关文档
最新文档