批处理删除N天前的文件及文件夹
@echo off
set/a n=30 &rem 可调整 不要超过一个月的天数
set/a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set/a d-=n,"1/(d>>31)" 2>nul&&(
set/a m-=1,d+=31,y-=!m,m+=!m*12
set/a "d-=!(m-2)*(3-!(y&3))+!(m-4)+!(m-6)+!(m-9)+!(m-11)")
set/a m+=100,d+=100
set ymd=%y%-%m:~1%-%d:~1% &rem 记得根据系统调整日期格式-还是/
echo 删除%n%天前文件
echo 删除%ymd%天前文件
cd/d "%~dp0"
for /r %%i in (*.txt)do if /i not "%%i"=="%~f0" (
if "%%~ti" lss "%ymd%y" (
echo %%~ti%%i
del "%%i"
))
echo 删除空文件夹
for /f "delims=" %%i in ('dir/b/ad/s^|sort/r')do (
rd "%%i" 2>nul&&echo %%i
)
pause
页:
[1]