我有几个文件夹,我想使用CMD文件删除超过X天的文件。
C:\ AwesomeSoftware \ ApplicationA \数据\卢克\温度 C:\ AwesomeSoftware \ ApplicationA \ DATA \路\登录 C:\ AwesomeSoftware \ ApplicationA \ DATA \帕德梅的\ Temp C:\ AwesomeSoftware \ ApplicationA \ DATA \帕德梅\登录 C:\ AwesomeSoftware \ ApplicationA \ DATA \韩的\ Temp C:\ AwesomeSoftware \ ApplicationA \数据\汉\登录
C:\ AwesomeSoftware \ ApplicationB \数据\莱娅\温度 C:\ AwesomeSoftware \ ApplicationB \ DATA \累啊\登录 C:\ AwesomeSoftware \ ApplicationB \ DATA \帕德梅的\ Temp C:\ AwesomeSoftware \ ApplicationB \ DATA \帕德梅\登录 C:\ AwesomeSoftware \ ApplicationB \ DATA \阿纳金的\ Temp C:\ AwesomeSoftware \ ApplicationB \数据\阿纳\登录
C:\ AwesomeSoftware \ APPC \数据\卢克\登录
C:\ AwesomeSoftware \ APPC \数据\卢克\温度
从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)。
答案 0 :(得分:0)
没有人回答我,但我已经找到了问题的解决方案..
我发布了片段,也许对某人有用。
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")
)