0

I have few folders where I want to use a CMD file to delete files older than X days.

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

From this answer I get the following working code for a specific path (and its subfolders), where X=30 days:

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

My question is: how can I modify the code to use it for some different folders but with the same structure.

As you can see the path is always a concatenation of "C:\AwesomeSoftware\" + <name of application> + "\Data\" + <username> + "\Log" + <subfolder name>. While <name of application> can be 10-20 discrete values, the <username> list is very long (100-200).

Nicolaesse
  • 2,554
  • 12
  • 46
  • 71

1 Answers1

0

Nobody answered me but I've found the solution at the problem..

I post the snippet, maybe it will be useful for somebody.

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")
)
Nicolaesse
  • 2,554
  • 12
  • 46
  • 71