CMD 删除特定文件夹中超过 X 天的文件

Posted

技术标签:

【中文标题】CMD 删除特定文件夹中超过 X 天的文件【英文标题】:CMD delete files older than X days in specific folders 【发布时间】:2018-06-25 04:19:29 【问题描述】:

我有几个文件夹,我想使用 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)。

【问题讨论】:

【参考方案1】:

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

我发布了sn-p,也许它对某人有用。

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")
)

【讨论】:

以上是关于CMD 删除特定文件夹中超过 X 天的文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 .NET 删除目录中超过 3 个月的文件

删除列中超过 30 天的所有行的过程

删除Qube中超过10天的作业

Android中超过30000张图片的快速删除文件夹

如何使用 gsutil 从文件名中删除 .jpg 已在存储桶中超过 20000 个文件

删除超过x年或数天的文件