金融it 发表于 2017-11-27 16:12:15

批处理删除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]
查看完整版本: 批处理删除N天前的文件及文件夹