比如我指定目录c:\test,下面还在不同的日期生成的不同日期的文件夹 比如 2007-8-20 2007-8-17 2007-7-20 。我就想根据这些目录的生成日期来删除前10天生成的目录以及下面的文件。根据现在的日期就应该删除掉 2007-8-17 2007-7-20 这2个文件夹。麻烦各位指点
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
rem 该批处理只适用于文件夹以日期命名的情况
rem 删除三天前的文件夹
rem 目标目录为C:\test
set Target=C:\test
dir /b %Target%>%temp%\FolderList.txt
echo dt=date()-3>%temp%\OldDate.vbs
echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)>>%temp%\OldDate.vbs
echo wscript.echo s>>%temp%\OldDate.vbs
for /f %%f in ('cscript /nologo %temp%\OldDate.vbs') do @set DelFlag=%%f
for /f %%i in (%temp%\FolderList.txt) do (
if %%i lss %DelFlag% (
rd /s /q %Target%\%%i
)
)
del %temp%\FolderList.txt
del %temp%\OldDate.vbs