删除文件及文件夹命令

方法一:

@echo off
::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持

rem 指定待删除文件的存放路径
set SrcDir=D:\oraclebak
rem 指定天数
set DaysAgo=1
forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo%  /c "cmd /c if @ISDIR==TRUE (echo rmdir /q /s @PATH) else (echo del /f @PATH)"
pause

方法二:

::删除与批处理在同一目录里的30天前的文件夹,日期的判断以文件夹的创建日期为准。
::此文件要放在要删除的文件夹目录里
>dstdate.vbs echo LastDate=date()-30
>>dstdate.vbs echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>dstdate.vbs echo wscript.echo FmtDate
::获取30天前的日期
for /f %%a in ('cscript /nologo dstdate.vbs') do set "dstdate=%%a"
::格式化日期为年/月/set dstdate=%dstdate:~0,4%^/%dstdate:~4,2%^/%dstdate:~6,2%
del dstdate.vbs /f /q >nul
for /f "skip=1 tokens=1-4 delims= " %%a in ('dir /tc /ad ^| find ":"') do (
if %%a lss %dstdate% rd "%%d" /s /q
)
pause

 

posted @ 2018-06-20 17:32  恋上微笑的天使  阅读(841)  评论(0编辑  收藏  举报