未名Q

此生若能得幸福安稳,谁又愿颠沛流离。

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: 订阅 订阅 :: 管理 ::

备份指定目录日期为最新的文件

 

@echo off
rem 先要检查 echo %date:~0,10% 的输出内容,不能含斜划线。

set sdir=
set sfiletype=*
set ddir=
set tfile=

rem for /f %%a in (dir /b /o:-d %sdir%\*.%sfiletype%) do 7za.exe a %ddir%\%%a %sdir%

rem 仅取第一个文件名
rem del /q /f "%temp%\%tfile%"
rem dir /b /o:-d %sdir%\*.%sfiletype% > "%temp%\%tfile%"
rem set /p newfile=<"%temp%\%tfile%"
rem 7za.exe a %ddir%\%newfile%.7z %sdir%\%newfile%

rem 一个文件一个包(无子目录)
forfiles /p %sdir% /m *.%sfiletype% /d +%date:~0,10% /c "cmd /c 7za.exe a %ddir%\@file.7z @path"

rem 所有文件一个包
del /q /f %tfile%
forfiles /p %sdir% /m *.%sfiletype% /d +%date:~0,10% /c "cmd /c echo @path >> %tfile%"
7za.exe a -t7z %date:~0,10%.7z @%tfile%


forfiles /p "%ddir%" /m *.7z /s /d -10 /c "cmd /c del /q /f @path"

rem 删除空目录
dir /ad /b /s %ddir%|sort /r > %tfile%
for /f %%a in (%tfile%) do rd %%a

del /q /f %tfile%
exit

 

posted on 2015-05-22 22:17  未名Q  阅读(310)  评论(0编辑  收藏  举报