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 天的文件的主要内容,如果未能解决你的问题,请参考以下文章