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
Paskaidrojums
- Pirmkārt, mēs iegūstam FileInfo un DirectoryInfo objektus Path C: Backups.
- Both FileInfo un DirectoryInfo objekti satur CreationTime īpašumu, lai mēs varētu filtrēt kolekciju, izmantojot to.
- Pēc tam tiek izmantots -lt (mazāk nekā) operators, lai salīdzinātu objektu CreationTime ar Get-Date (pašreizējais datums) atņemtu 5 dienas.
- Tad tas atstāj mūs ar priekšmetu kolekciju, kas tika izveidoti vairāk nekā pirms piecpadsmit dienām, un mēs pārietam uz Noņemšanas vienumu.
Pro padoms
Lai redzētu, kas tiks noņemts, varat izmantot parametru -WhatIf:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
Komandu uzvedne
Lai gan mēs iesakām izmantot vienu no PowerShell metodēm, neiegūstot nevienu no graudainām detaļām, to var izdarīt arī komandu uzvednē.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Pro padoms
Lai redzētu, kādi faili tiks izdzēsti, varat izmantot echo.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'