批处理文件以递归方式删除N天之前的文件夹中的文件

5 windows recursion cmd batch-file

我现在使用批处理文件删除所有以.snp180天为结尾的文件。以下代码可删除所有.snp以根文件夹结尾的文件

C:\ Program Files \ Snapshots

但是我最近发现在Snapshots文件夹中有按日期组织的文件夹

“ 2014年1月10日,2014年12月20日,2014年10月15日等。”

并且以下代码行无法递归搜索每个目录,因此不会删除。

我应该对此代码进行哪些更改,以使其在根文件夹中递归地搜索文件夹并删除大于180天的文件?

forfiles /M *.snp /P "C:\Program Files\Snapshots" /S /D -180 /C "cmd /c del /F /Q @path"
Run Code Online (Sandbox Code Playgroud)

cry*_*sal 4

如果没有 /D(日期),它适用于子文件夹

forfiles /M *.txt /P "C:\hlpme" /S /C "cmd /c del /f /q @path
Run Code Online (Sandbox Code Playgroud)

但你显然希望日期出现在 CMD 中

forfiles /D -180 /M *.txt /P "C:\hlpme" /S /C "cmd /c del /f /q @path
Run Code Online (Sandbox Code Playgroud)

路径名之前的 /D 选择 180 天前更改的所有文件