递归删除N天前的文件夹及子文件夹下的特定文件

时间:2023-03-10 05:22:11
递归删除N天前的文件夹及子文件夹下的特定文件

@echo off
rem 设置被删除文件夹路径
set SrcDir=D:\tmp\test\
rem 设置文件保存天数
set Days=2
rem /p指定搜索文件的路径 /s 在子目录中搜索 /m 指定格式,默认为*.*

rem /d 选择文件,其上一次修改日期大于等于(+)、或者小于等于(-) 用 "yyyy/MM/dd" 格式指定的日期; 或选择文件,其上一次修改日期大于或等于 (+)当前日期加 "dd" 天,或者小于或等于 (-) 当前日期减 "dd" 天。有效的 "dd" 天数可以是0 - 32768 范围内的任何数字。如果没有指定,"+" 被当作默认符号。

rem /c 指定执行的命令
rem del命令(删除文件,不是文件夹) /p 删除 每一个文件前提示确认 /f 强制删除 /q 不询问是否删除 /a 按指定属性删除 /s 从所有子目录删除指定文件

forfiles /p %SrcDir% /s /m *.txt /d -%Days% /c "cmd /c del /f /q /a @path"
rem pause