Windows下删除一定日期前文件夹及其文件的批处理怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下删除一定日期前文件夹及其文件的批处理怎么写?相关的知识,希望对你有一定的参考价值。

要删除D:/test文件夹下,一年前的,每天自动新建的以年月日命名的文件夹(文件夹名为“20210407”这种)及其以下的所有文件。我写得BAT是forfiles /p "D:\test" /d -365 /c /s "cmd /c del @path"执行完以后文件夹还在,只删了底下的文件,有啥办法把文件夹一起删了?

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
@echo off
rem 查找并删除当前目录里指定天数之前的以特定格式日期命名的文件夹
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set ago=-365
>"%tmp%\v.v" echo;d=date+(%ago%):WSH.echo right(Year(d),4) ^& right("0" ^& Month(d),2) ^& right("0" ^& Day(d),2)
set agoday=&for /f %%a in ('cscript -nologo -e:vbscript "%tmp%\v.v"') do set agoday=%%a
if not defined agoday (pause&exit)
echo;界定日期=%agoday%
for /f "delims=" %%a in ('dir /ad-h/b^|findstr /be "[0-9][0-9]*"') do (
if "%%~nxa" leq "%agoday%" echo;"%%a"
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
参考技术A 批处理是在DOS模式下运行的,DOS删除文件夹的命令不是DEL,而是RD。

以上是关于Windows下删除一定日期前文件夹及其文件的批处理怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

怎样使用bat任务删除7天前的文件夹及其里面的文件

怎样利用批处理自动删除某路径下的过期文件夹

Windows定时删除某天前文件的批处理脚本

Windows批处理

如何让批处理按创建时间删除某文件夹下的文件

bat批处理,定时执行删除某文件