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
Magyarázat
- Először a FileInfo és a DirectoryInfo objektumokat kapjuk a C: Backups útvonalon.
- A FileInfo és a DirectoryInfo objektumok egyaránt tartalmaznak egy CreationTime tulajdonságot, így szűrhetjük a gyűjteményt ezzel.
- A -lt (kevesebb, mint) operátort az objektumok CreationTime tulajdonságának és a Get-Date (aktuális dátum) összehasonlításához használják, kivonják az 5 napot.
- Ezzel egy 5 nappal ezelőtt létrehozott objektumgyűjteményt hagyunk el, melyet az Eltávolító elemhez adunk át.
Profi tipp
Ha meg szeretné tekinteni, hogy mi lesz eltávolítva, használhatja a -WhatIf paramétert:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
Parancssor
Bár azt javasoljuk, hogy használja az egyik PowerShell módszert, anélkül, hogy beletörődne a kavicsos részletekbe, a parancssorból is megteheti.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Profi tipp
Ha meg szeretné tekinteni, hogy mely fájlokat kívánja törölni, használhatja a visszhangot.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'