删除指定日期文件的批处理脚本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

@echo off

::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。

::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)

rem 指定待删除文件的存放路径

set SrcDir=E:\test\test

rem 指定天数

set DaysAgo=3

>"%temp%\DstDate.vbs" echo LastDate=date()-%DaysAgo%

>>"%temp%\DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)

>>"%temp%\DstDate.vbs" echo wscript.echo FmtDate

for /f %%a in ('cscript /nologo "%temp%\DstDate.vbs"') do (

set "DstDate=%%a"

)

set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%

setlocal enabledelayedexpansion

for /d %%a in (*.*) do (

set "FileDate=%%~na"

set "FileDate=!FileDate:~0,10!"

if "!FileDate!" == "%DstDate%" (

if exist "%%a" (

echo.&echo.

echo 删除文件%%a.rar

rem pause

del /f /q "%%a.rar"

)

)

)

endlocal

pause

相关文档
最新文档