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
Penjelasan
- Pertama-tama kita mendapatkan objek FileInfo dan DirectoryInfo di Path C: Backups.
- Objek FileInfo dan DirectoryInfo keduanya berisi properti CreationTime, jadi kita bisa memfilter koleksi menggunakan itu.
- Operator –lt (kurang dari) kemudian digunakan untuk membandingkan properti CreationTime objek dengan Get-Date (tanggal saat ini) dikurangi 5 hari.
- Ini kemudian meninggalkan kita dengan kumpulan objek yang dibuat lebih dari 5 hari yang lalu, yang kami lewati ke Remove-Item.
Kiat Pro
Untuk melihat apa yang akan dihapus, Anda dapat menggunakan parameter -ApaApakah:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
Command Prompt
Meskipun kami menyarankan Anda menggunakan salah satu metode PowerShell, tanpa masuk ke salah satu detail yang mengerikan Anda juga dapat melakukannya dari command prompt.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
Kiat Pro
Untuk melihat file apa yang akan dihapus, Anda dapat menggunakan echo.
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'