PowerShell 3
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item
PowerShell 2
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item
Obrazloženje
- Prvo dobili smo datoteke FileInfo i DirectoryInfo u Path C: Backups.
- FileInfo i DirectoryInfo objekti sadrže i stvaranje CreationTime, tako da možemo filtrirati zbirku pomoću toga.
- -Lt (manje od) operatora se zatim koristi za usporedbu CreationTime svojstva objekata s Get-Date (trenutni datum) oduzimaju 5 dana.
- To nam onda ostavlja zbirku objekata koji su stvoreni prije više od 5 dana, a mi prelazimo u Remove-Item.
Pro Savjet
Da biste vidjeli što će biti uklonjeno, možete upotrijebiti parametar -WhatIf:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
Naredbeni redak
Iako vam preporučujemo da koristite jedan od PowerShell metoda, a da pritom nećete ući u bilo koju od grubih detalja, možete to učiniti i iz naredbenog retka.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Pro Savjet
Da biste vidjeli koje će se datoteke izbrisati, možete koristiti eho.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'