Board logo

标题: [其他] 批处理怎样实现删除n天以前类似yyyymmdd这样的文件夹及其文件? [打印本页]

作者: tianshiguodong    时间: 2011-12-23 14:24     标题: 批处理怎样实现删除n天以前类似yyyymmdd这样的文件夹及其文件?

急求各位帮忙修改下如下批处理脚本,我水平有限,改了好久都没有改好
实现:删除n天以前类似yyyymmdd这样的文件夹及其文件的功能,
我的文件夹格式类似yyyymmdd,要求以文件夹中的日期为时间进行判断,
  1. @echo off
  2. rem 指定待删除文件夹的存放路径
  3. set SrcDir=F:\201221test\smppbillstore
  4. rem 指定天数
  5. set DaysAgo=1
  6. >"%temp%/DstDate.vbs" echo LastDate=date()-%DaysAgo%
  7. >>"%temp%/DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
  8. >>"%temp%/DstDate.vbs" echo wscript.echo FmtDate
  9. for /f %%a in ('cscript /nologo "%temp%/DstDate.vbs"') do (
  10.   set "DstDate=%%a"
  11. )
  12. set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
  13. setlocal enabledelayedexpansion
  14. for /d  %%a in ("%SrcDir%/*.*") do (
  15.   if "%%~ta" leq "%DstDate%" (
  16.     set "FolderDate=%%~na"
  17.     set "FolderDate=!FolderDate:~8,10!"
  18.     if "!FolderDate!" leq "%DstDate%" (
  19.         cd %SrcDir%
  20.         if exist "%%a/" (
  21.             echo rd /s /q "%%a"
  22.         )
  23.     )
  24.   )
  25. )
  26. endlocal
  27. pause
复制代码

作者: Demon    时间: 2011-12-23 14:26

重复发帖算违规么,坐等版主处理。
作者: tianshiguodong    时间: 2011-12-23 14:38

回复 2# Demon


    楼上,你不帮忙就算了,我总共发过3个帖子,第一个是删除文件的操作,第二个是删除文件夹因为没表达清楚意思,上一个帖子问题没解决,所以发这个帖子,我这怎么算是重复发贴
作者: Demon    时间: 2011-12-23 15:43

回复  Demon


    楼上,你不帮忙就算了,我总共发过3个帖子,第一个是删除文件的操作,第二个是删除文 ...
tianshiguodong 发表于 2011-12-23 14:38


意思没表达清楚可以编辑原来的帖子补充,问题没解决不是重复发帖的正当理由。
作者: tianshiguodong    时间: 2011-12-23 17:18

回复 4# Demon


    冤枉呀 我要上告知府大人
作者: Batcher    时间: 2011-12-23 19:50

你这个情况,使用方案4比较合适。
http://www.bathome.net/thread-3503-1-1.html
作者: Batcher    时间: 2011-12-23 21:05

删除文件请参考方案6
http://www.bathome.net/thread-3334-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2