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

需求

楼主,如果我想删除指定文件夹下、指定天数日期之前、指定文件名(有规则的)的文件,怎么实现呢?
急~~在线等,拜托了。

TOP

专门定制?呵呵,谢谢楼主了!!
文件名字举例:今天生成的就是“2009-06-12”,昨天的是“2009-06-11”,没有扩展名,以此类推。
注意该目录下还有很多其它文件不能删哦

TOP

在线等。。。。。。。。。。。

TOP

详见附件。
这个bat还多删除了两个其它文件,请判断,辛苦啦。

原始目录内容如下:
驱动器 E 中的卷没有标签。
卷的序列号是 13A4-CA45

E:\123123 的目录

2009-06-12  14:12    <DIR>          .
2009-06-12  14:12    <DIR>          ..
2009-06-12  14:12                 0 1.txt
2009-05-20  11:47            20,609 2009-05-24
2009-05-20  11:47            20,609 2009-05-25
2009-05-20  11:47            20,609 2009-05-26
2009-05-20  11:47            20,609 2009-05-27
2009-05-20  11:47            20,609 2009-05-28
2009-05-20  11:47            20,609 2009-05-29
2009-05-20  11:47            20,609 2009-05-30
2009-05-20  11:47            20,609 2009-05-31
2009-05-20  11:47            20,609 2009-06-01
2009-05-20  11:47            20,609 2009-06-02
2009-05-20  11:47            20,609 2009-06-03
2009-05-20  11:47            20,609 2009-06-04
2009-05-20  11:47            20,609 2009-06-05
2009-05-20  11:47            20,609 2009-06-06
2009-05-20  11:47            20,609 2009-06-07
2009-05-20  11:47            20,609 2009-06-08
2009-05-20  11:47            20,609 2009-06-09
2009-05-20  11:47            20,609 2009-06-10
2009-05-20  11:47            20,609 2009-06-11
2009-05-20  11:47            20,609 2009-06-12
2004-07-21  07:48        18,331,779 Oracle 9i中文版实用培训教程.pdf
2005-07-13  23:32        19,664,908 Oracle备份与恢复培训教程.pdf
2008-10-14  11:24           480,909 S60_Platform_FAQ_v1_12_en.pdf
2004-10-02  09:49            44,032 UnMakeSIS.exe
2008-03-24  13:03         8,838,445 wolf学习笔记.pdf
2002-03-05  06:01         7,714,572 XML编程从入门到精通.pdf
2008-10-14  10:54           127,544 x_S60.sis
2008-09-10  13:19        36,601,098 [买股票,找这样的公司就对了].pdf
2005-01-13  10:02           651,487 《管理就这么简单》.pdf
2008-10-04  19:03         2,430,968 公司OA考勤管理系统.rar
2009-02-04  00:45           207,872 生意架构__2003.xls
2008-10-13  13:05         8,594,865 非C程序员C++入门自学教程.PDF
              33 个文件    104,100,659 字节

TOP

补充,我修改的bat内容如下:
@echo off
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
rem 指定待删除文件的存放路径
set SrcDir=E:\123123
rem 指定天数
set DaysAgo=15
rem 假设日期格式为:2009-06-12 星期五
call ateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays
set /a PassDays-=%DaysAgo%
call :DaysToDate %PassDays% DstYear DstMonth DstDay
set DstDate=%DstYear%-%DstMonth%-%DstDay%

for /f "delims=/" %%a in ('dir /b /a-d "%SrcDir%"') do (
  if "%%a" leq "%DstDate%" (
    echo del /a /f /q "%SrcDir%\%%a"
  )
)
pause
goto :eof

:DateToDays %yy% %mm% %dd% days
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %4=%j%&goto :EOF

:DaysToDate %days% yy mm dd
setlocal ENABLEEXTENSIONS
set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
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
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF

TOP

完全ok了,楼主的功力不是一般的强啊,拜服~~~~~~

TOP

返回列表