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

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

@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
Tty725 说:
欢迎转载,但请注明内容的来源或URL;
[转]”篇章,必须保留原始来源且勿添加本blog指向。
原文地址:https://www.cnblogs.com/Tty725/p/4523382.html