Automatické mazání souboru starších než X dní…..

Zase jedna taková ptákovina – ale občas se se mi to hodí….. potřebuji automaticky mazat někde v nějakém adresáři soubory starší než X dní…. třeba 7 dní

Pak to naplánuju do šedulovaných tásků a ono se to bude promazávat samo…. a na serveru nebude docházet místo 🙂

 

Tak nejdříve pomocí komandlajny :

@echo off
:: cesta
set dump_path=c:\temp

:: kolik dní než se to promaže
set max_days=7

:: smaž soubory z %dump_path%
forfiles -p %dump_path% -m *.* -d -%max_days% -c "cmd  /c del /q @path"

:: smaž podadresáře z %dump_path%
forfiles -p %dump_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"

Tak a ještě pomocí powershellu :

# cesta
$dump_path = "C:\temp"

# kolikd dní než se to promaže
$max_days = "-7"
 
# jaký je dnes aktuální datum na kompu
$curr_date = Get-Date

# kolik dní se budeme vracet
$del_date = $curr_date.AddDays($max_days)

# mažeme
Get-ChildItem $dump_path -Recurse | Where-Object { $_.LastWriteTime -lt $del_date } | Remove-Item

 

Je to sice volovina, ale občas se mi to hodí…. třeba se to bude hodit i někomu jinému.