Page d'accueil » comment » Comment supprimer des fichiers plus anciens que X Days sous Windows

    Comment supprimer des fichiers plus anciens que X Days sous Windows

    Nous vous avons déjà montré à quel point le shell Linux pouvait être flexible, mais cela ne veut pas dire que Windows est encore plus en retard. Voici deux techniques que vous pouvez utiliser en fonction de vos préférences de shell, cmd ou PowerShell..

    PowerShell 3

    Get-ChildItem -Path "C: \ Backups" -Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | Retirer l'objet

    PowerShell 2

    Get-ChildItem -Path "C: \ Backups" -Recurse | Where-Object $ _. CreationTime -lt (Get-Date) .AddDays (-5) | Retirer l'objet

    Explication

    • Premièrement, nous obtenons les objets FileInfo et DirectoryInfo dans le chemin C: \ Backups..
    • Les objets FileInfo et DirectoryInfo contiennent tous deux une propriété CreationTime. Nous pouvons donc filtrer la collection à l'aide de cette propriété..
    • L'opérateur -lt (inférieur à) est ensuite utilisé pour comparer la propriété CreationTime des objets avec Get-Date (la date actuelle) soustraire 5 jours..
    • Cela nous laisse ensuite avec une collection d'objets créés il y a plus de 5 jours, que nous passons à Remove-Item.

    Astuce Pro

    Pour voir ce qui sera supprimé, vous pouvez utiliser le paramètre -WhatIf:

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

    Invite de commande

    Bien que nous vous recommandons d’utiliser l’une des méthodes PowerShell, sans entrer dans les détails, vous pouvez également le faire à partir d’une invite de commande..

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

    Astuce Pro

    Pour voir quels fichiers vont être supprimés, vous pouvez utiliser echo.

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