找回密码
 立即注册

QQ登录

只需一步,快速开始

其他系统 批处理删除N天前的文件及文件夹

0
回复
3991
查看
[ 复制链接 ]

293

主题

6

回帖

4093

积分

管理员

积分
4093


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


复制代码


回复

使用道具 举报

293

主题

6

回帖

4093

积分

管理员

积分
4093


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


复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

返回顶部