[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何用批处理定时删除几个文件夹里的文件?

怎样才能定时删除多个不同目录文件夹下的文件

在论坛里找到了想要的法案。然后去除了del前面的echo 再下面的pause  只能删除一个目录里的文件。

感谢各位大侠帮忙!!
  1. @echo off
  2. ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
  3. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
  4. ::本例调用了 Ritchie Lawrence 的日期函数进行日期计算
  5. ::日期转换的核心算法请参考[url=http://bbs.bathome.net/thread-3056-1-1.html]http://bbs.bathome.net/thread-3056-1-1.html[/url]
  6. ::本例为兼容不同的日期格式,调用reg命令(XP系统自带)统一设置日期格式,
  7. ::处理完毕之后再把日期格式恢复成原来的状态。
  8. rem 指定待删除文件的存放路径
  9. set SrcDir=D:\FTP\jpg\red
  10. set SrcDir=D:\ero
  11. rem 指定天数
  12. set DaysAgo=5
  13. for /f "skip=2 delims=" %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
  14.   set "RegDateOld=%%a"
  15. )
  16. set RegDateOld=%RegDateOld:~-8%
  17. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul
  18. call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
  19. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
  20. set /a PassDays-=%DaysAgo%
  21. call :DaysToDate %PassDays% DstYear DstMonth DstDay
  22. set DstDate=%DstYear%-%DstMonth%-%DstDay%
  23. for /r "%SrcDir%" %%a in (*.*) do (
  24.   if "%%~ta" leq "%DstDate%" (
  25.     if exist "%%a" (
  26.        del /f /q "%%a"
  27.     )
  28.   )
  29. )
  30. reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %RegDateOld% /f>nul
  31. goto :eof
  32. :DateToDays %yy% %mm% %dd% days
  33. setlocal ENABLEEXTENSIONS
  34. set yy=%1&set mm=%2&set dd=%3
  35. if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
  36. set /a dd=100%dd%%%100,mm=100%mm%%%100
  37. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  38. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  39. endlocal&set %4=%j%&goto :EOF
  40. :DaysToDate %days% yy mm dd
  41. setlocal ENABLEEXTENSIONS
  42. set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
  43. set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
  44. set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
  45. (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
  46. endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
复制代码

比如说,你想删哪几个文件夹里面的文件?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

文件夹是随机的。
比如D:\123\456\*.*
       E:\abc\def\ghi\*.*

TOP

大哥们帮帮忙哈。。。万分感谢!!!!

TOP

谁知道你随机文件夹有什么规律,找不到规律根本没法下手

TOP

返回列表