[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样自动压缩备份3个月前的数据?

如题:D:/back目录下 有 1101,1102,1103,1104(年-月)这类命名的文件夹,将3个月之前的文件夹 压缩备份到 E:/back目录下,最后删除D盘下已经被备份的文件夹

<code>
@echo off
setlocal EnableDelayedExpansion
rem 定义路径
set bspath=d:\backup
set wrar="C:\Program Files\WinRAR\Rar.exe"
set bdpath=e:\backup

rem 定义差距时间
set mdif=3

rem 获取当前年、月
set ny=%date:~2,2%
set /a nm=%date:~5,2%

rem 根据文件夹名确认是否要备份
for /f %%i in ('dir /b /on /ad %bspath%') do (
call :bak %%i
)

goto :eof

:bak
set fname=%1
set /a fm=%fname:~2,2%+2
echo %fm%
if not %fname:~0,2%==%ny% (
%wrar% a -df %bdpath%\%1.rar %bspath%\%1
) else if %fm% LSS %nm% (
%wrar% a -df %bdpath%\%1.rar %bspath%\%1
)

goto :eof

</code>

以上是我朋友写的,但是我跑了下 发现不对,求高手指点

TOP

返回列表