[bat批处理文件] 压缩备份
1.压缩指定的部分文件
@echo off
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set curdate=%year%%month%%day%
for %%i in (D:\logs\logs\OmsAdmin.2016-%month%-*.log) do "C:\Program Files (x86)\WinRAR\winrar.exe" a -m5 -ibck D:\logs\log_%curdate%.rar %%i
参数说明:
(1) for语句支持通配符找文件,例如“OmsAdmin.2016-%month%-*.log”
(2) for语法: for %%i in 集合 do 命令(%%i)
(3) winrar语法:winrar a -m5 -ibck 生成的压缩文件存储路径 被压缩文件
其中,a : 压缩(e:解压)
-m5:按照第5等级最大程度压缩
-ibck:后台运行
2.删除过期备份文件
forfiles /p D:\logs\logs /s /D -30 /c "cmd /c del @file"
参数说明:
(1) forfiles通常用作对文件或文件夹的批处理,
其中,/p:开始搜索的路径
/s:递归到子目录
/D:文件最后修改的日期时间 +/-数字
3.复制文件
xcopy D:\from\log_%curdate%.rar D:\to\log_%curdate%.rar