CMD 删除特定文件夹中早于 X 天的文件

CMD delete files older than X days in specific folders

我有几个文件夹,我想在其中使用 CMD 文件删除超过 X 天的文件。

C:\AwesomeSoftware\ApplicationA\Data\Luke\Temp C:\AwesomeSoftware\ApplicationA\Data\Luke\Log C:\AwesomeSoftware\ApplicationA\Data\Padme\Temp C:\AwesomeSoftware\ApplicationA\Data\Padme\Log C:\AwesomeSoftware\ApplicationA\Data\Han\Temp C:\AwesomeSoftware\ApplicationA\Data\Han\Log

C:\AwesomeSoftware\ApplicationB\Data\Leia\Temp C:\AwesomeSoftware\ApplicationB\Data\Leia\Log C:\AwesomeSoftware\ApplicationB\Data\Padme\Temp C:\AwesomeSoftware\ApplicationB\Data\Padme\Log C:\AwesomeSoftware\ApplicationB\Data\Anakin\Temp C:\AwesomeSoftware\ApplicationB\Data\Anakin\Log

C:\AwesomeSoftware\AppC\Data\Luke\Log

C:\AwesomeSoftware\AppC\Data\Luke\Temp

this 的回答中,我得到了特定路径(及其子文件夹)的以下工作代码,其中 X=30 天:

forfiles /p "C:\AwesomeSoftware\ApplicationA\Data\Luke" /s /m *.* /D -30 /C "cmd /c del @path"

我的问题是:如何修改代码以将其用于一些不同的文件夹但具有相同的结构。

如您所见,路径始终是 "C:\AwesomeSoftware\" + <name of application> + "\Data\" + <username> + "\Log" + <subfolder name> 的串联。 虽然 <name of application> 可以是 10-20 个离散值,但 <username> 列表很长 (100-200)。

没有人回答我,但我找到了问题的解决方案..

我 post 摘录,也许对某些人有用。

for /d %%a in (C:\AwesomeSoftware\*) do (
    for /d %%x in (%%a\Data\*) do (forfiles /p "%%x\Temp" /s /m *.* /D -7 /C "cmd /c del @path")
)