Kami telah menunjukkan kepada Anda betapa fleksibelnya shell Linux , tetapi itu tidak berarti Windows jauh di belakang. Berikut dua teknik yang dapat Anda gunakan bergantung pada preferensi shell Anda, cmd atau PowerShell.
PowerShell 3
Get-ChildItem –Path “C: \ Backups” –Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | Hapus-Item
PowerShell 2
Get-ChildItem –Path “C: \ Backups” –Recurse | Dimana-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Hapus-Item
Penjelasan
- Pertama kita mendapatkan objek FileInfo dan DirectoryInfo di Path C: \ Backups.
- Objek FileInfo dan DirectoryInfo keduanya berisi properti CreationTime, sehingga kita dapat memfilter koleksi menggunakan properti tersebut.
- Operator –lt (kurang dari) kemudian digunakan untuk membandingkan properti CreationTime objek dengan Get-Date (tanggal saat ini) kurangi 5 hari.
- Ini kemudian meninggalkan kita dengan koleksi objek yang dibuat lebih dari 5 hari yang lalu, yang kita berikan ke Remove-Item.
Tip Pro
Untuk melihat apa yang akan dihapus, Anda dapat menggunakan parameter –WhatIf:
Get-ChildItem –Path “C: \ Backups” –Recurse | Where-Object CreationTime –lt (Get-Date) .AddDays (-5) | Hapus-Item –WhatIf
Prompt Perintah
Meskipun kami menyarankan Anda menggunakan salah satu metode PowerShell, tanpa masuk ke detail apa pun, Anda juga dapat melakukannya dari command prompt.
untuk file -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c del @path"
Tip Pro
Untuk melihat file apa saja yang akan dihapus bisa menggunakan echo.
untuk file -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"