名名网安_SecurityBlog 信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
WINRAR自动压缩打包备份脚本
发表于 2018-10-10 | | tools

网上找的脚本都不符合自己要求只能自己造轮子了。

第一个只能打包整个需要备份的目录为一个rar文件

@echo off
rem 设置RAR命令行路径:
rem by cert.run
set rar="C:\Program Files\WinRAR\WinRAR.exe"
rem 设置备份文件路径
set backDir="D:\back"
rem 设置需要备份的文件夹
set fileDir="D:\test\"
::以下内容午无需修改
rem 判断不足10点加0 并用for来重写数字,防止文件名有空格
if "%time:~0,1%"==" " set "time=0%time:~1%"
for /f "tokens=*" %%a in ('time/t') do set now=%%a
rem 取日期
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
rem 取时间
set hms=%now:~0,2%%now:~3%%time:~3,0%
rem 设置文件名为年月日时分
set dt=%ymd%%hms%
rem 开始打包
%rar% a -r -ed -ep1 -ibck -inul -m1 %backDir%\%dt%.zip %fileDir%

效果:

image.png


第二个可以把指定目录下的目录分别打包独立的rar

@echo off
rem 设置RAR命令行路径:
rem by cert.run
set rar="C:\Program Files\WinRAR\WinRAR.exe"
rem 设置备份文件路径
set backDir="D:\back\"
rem 设置需要备份的文件夹
set fileDir="D:\test\"
::以下内容无需修改
pushd %fileDir%
rem 取日期
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%
rem 判断目录是否存在否则创建以日期名称为目录
if not exist %backDir%\%ymd%\ mkdir %backDir%\%ymd%\
::备用方法读取目录,个人喜欢用dir这种
REM for /d %%i in (*) do %rar% a -r -m5 -IBCK %backDir%%%i.rar "%%i"
for /f "delims=" %%i in ('dir /ad /b *') do (
 %rar% a -r -ed -ep1 -ibck -inul -m1 %backDir%\%ymd%\%%i.rar "%%i"
)

效果:

image.png


修改代码中的路径,保存为.bat脚本格式,设置任务计划即可。


发表评论:

未显示?请点击刷新

TOP