Laman » bagaimana untuk » Bagaimana Menghapus Fail Lebih Lama daripada X Hari di Windows

    Bagaimana Menghapus Fail Lebih Lama daripada X Hari di Windows

    Kami telah menunjukkan kepada anda bagaimana fleksibel shell Linux boleh, tetapi itu bukan untuk mengatakan Windows adalah lebih jauh di belakang. Berikut adalah dua teknik yang boleh anda gunakan bergantung pada pilihan shell anda, cmd atau PowerShell.

    PowerShell 3

    Get-ChildItem -Path "C: \ Backups" -Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | Buang-Item

    PowerShell 2

    Get-ChildItem -Path "C: \ Backups" -Recurse | Where-Object $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Buang-Item

    Penjelasan

    • Pertama kita mendapatkan objek FileInfo dan DirectoryInfo di Laluan C: \ Backups.
    • Objek FileInfo dan DirektoriInfo keduanya mengandungi hak cipta CreationTime, jadi kami boleh menapis koleksi menggunakannya.
    • Operator -lt (kurang daripada) kemudian digunakan untuk membandingkan harta CreationTime objek dengan Get-Date (tarikh semasa) tolak 5 hari.
    • Ini kemudian meninggalkan kami dengan koleksi objek yang dicipta lebih daripada 5 hari yang lalu, yang kami lulus untuk Hapus-Item.

    Pro Tip

    Untuk melihat apa yang akan dikeluarkan anda boleh menggunakan parameter -WhatIf:

    Get-ChildItem -Path "C: \ Backups" -Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | Keluarkan-Item -What Jika

    Arahan prompt

    Walaupun kami mengesyorkan anda menggunakan salah satu kaedah PowerShell, tanpa mendapat sebarang maklumat yang boleh anda lakukan dari arahan segera.

    forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c del @ath"

    Pro Tip

    Untuk melihat apa fail yang akan dipadam anda boleh menggunakan echo.

    forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echo @file"