setlocal EnableDelayedExpansion
rem 设置提前的天数
set DaysAgo=7
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (set DstDate=%%a)
echo %0 是批处理本身的完整路径【包含文件名】
echo %~dp0 则是批处理的完整目录【不包含文件名】
rem %0 代表 E:\AutoPack\自动删除7天前文件及文件夹.bat
rem %~dp0 代表 E:\AutoPack\
rem %~dp0* 代表 E:\AutoPack\*
for /d %%i in (%~dp0*) do (
set aa=%%i
set aa=!aa:%DstDate%=!
if "!aa!" NEQ "%%i" (
rmdir /q /s %%i
)
)
rem %~dp0%DstDate%* 代表E:\AutoPack\20150824*
del /q %~dp0%DstDate%*
@pause