Cara Menghapus File yang Lebih Tua dari X Days di Windows
Kami telah menunjukkan kepada Anda seberapa fleksibel cangkang Linux, tetapi bukan berarti Windows lebih jauh ketinggalan. Berikut adalah dua teknik yang dapat Anda gunakan tergantung 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 | Where-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, jadi kami bisa memfilter koleksi menggunakan itu.
- Operator -lt (kurang dari) kemudian digunakan untuk membandingkan properti CreationTime dari objek dengan Get-Date (tanggal saat ini) kurangi 5 hari.
- Ini kemudian meninggalkan kami dengan koleksi objek yang dibuat lebih dari 5 hari yang lalu, yang kami sampaikan ke Remove-Item.
Kiat 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 sarankan Anda menggunakan salah satu metode PowerShell, tanpa masuk ke rincian kasar 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 gema.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"