Comment supprimer automatiquement des fichiers de plus de X jours à l'aide de PowerShell

how delete files older than x days automatically using-powershell

Vous pouvez utiliser PowerShell pour libérer de l'espace et garder les choses organisées en supprimant uniquement les fichiers qui sont plus anciens qu'un certain nombre de jours dans n'importe quel dossier - Voici comment le faire sur Windows 10.



Sous Windows 10, Storage sense est une fonctionnalité qui libère automatiquement de l'espace lorsque vous manquez d'espace de stockage. La fonctionnalité fonctionne en supprimant les fichiers système indésirables, les fichiers qui se trouvent dans la corbeille ou le dossier Téléchargements depuis plus d'un mois, et en faisant Contenu OneDrive que vous avez utilisé depuis longtemps en ligne uniquement.



Bien que cette fonctionnalité puisse être utile pour contrôler l'espace de stockage, elle est limitée et n'offre pas la possibilité d'ajouter manuellement différents emplacements pour surveiller et supprimer les fichiers qui n'ont pas changé au cours du dernier mois environ.

Si vous stockez des fichiers non importants sur un emplacement différent, il est possible d'utiliser PowerShell et le Planificateur de tâches pour surveiller et nettoyer les fichiers de n'importe quel dossier qui sont plus anciens qu'un nombre de jours spécifié.



Dans ce guider, vous apprendrez les étapes pour supprimer automatiquement les fichiers qui n'ont pas été modifiés au cours du dernier mois ou du nombre de jours que vous spécifiez le Windows 10.

Important: Testez la commande à l'aide d'un dossier temporaire, car la spécification du mauvais paramètre peut entraîner la suppression des mauvais fichiers.

Comment utiliser PowerShell pour supprimer des fichiers antérieurs à X jours sur Windows 10

Si vous avez différents dossiers avec beaucoup de fichiers et que vous souhaitez nettoyer en supprimant ceux plus anciens que certains jours, vous pouvez utiliser ces étapes:

  1. Ouvert Début.



  2. Rechercher Windows PowerShell, cliquez avec le bouton droit sur le résultat et sélectionnezExécuter en tant qu'administrateur option.

  3. Tapez la commande suivante pour supprimer les fichiers qui n'ont pas été modifiés au cours des 30 derniers jours et appuyez sur Entrer:

    Get-ChildItem –Path 'C:  chemin  vers  dossier' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Retirer l'objet

    Dans la commande ci-dessus, n'oubliez pas de changer 'C: chemin vers dossier' en spécifiant le chemin d'accès au dossier dans lequel vous souhaitez supprimer les fichiers et modifiez -30 pour sélectionner des fichiers avec une date de dernière modification.

    PowerShell LastWriteTime command

    Commande PowerShell LastWriteTime

Comment utiliser le Planificateur de tâches pour supprimer automatiquement les fichiers de plus de X jours sur Windows 10

La commande des instructions précédentes vous permet de supprimer des fichiers d'un dossier datant de plus de 30 jours, mais vous devez ouvrir PowerShell et exécuter la commande manuellement chaque fois que vous souhaitez libérer de l'espace.

Création d'un script PowerShell à l'aide du Bloc-notes

Pour exécuter une tâche à l'aide du Planificateur de tâches, vous devez créer un script PowerShell avec les étapes suivantes:

  1. Ouvert Début.

  2. Rechercher Bloc-notes et cliquez sur le résultat supérieur pour ouvrir l'expérience.

  3. Copiez et collez la commande suivante dans un fichier texte du bloc-notes:

    Get-ChildItem –Path 'C:  chemin  vers  dossier' -Recurse | Where-Object {($ _. LastWriteTime -lt (Get-Date) .AddDays (-30))} | Retirer l'objet

    Dans la commande ci-dessus, n'oubliez pas de changer 'C: chemin vers dossier' en spécifiant le chemin d'accès au dossier dans lequel vous souhaitez supprimer les fichiers et modifiez -30 pour sélectionner des fichiers avec une date de dernière modification.

  4. Clique le Fichier menu.

  5. Sélectionnez le Enregistrer sous option.

  6. Enregistrez le fichier à l'aide du cleanup.ps1 nom et extension.

Création d'une tâche à l'aide du Planificateur de tâches

Si vous souhaitez automatiser le processus, vous devez utiliser le Planificateur de tâches pour créer une tâche qui exécute la commande à des intervalles spécifiés.

  1. Ouvert Début.

  2. RechercherPlanificateur de tâches et cliquez sur le résultat.

  3. Cliquez avec le bouton droit sur le Bibliothèque du planificateur de tâches dossier.

  4. Clique leNouveau dossier option.

  5. Tapez n'importe quel nom pour le dossier et cliquez sur D'accord. (Nous créons un nouveau dossier pour garder les tâches organisées et séparées des tâches système.)

  6. Cliquez avec le bouton droit sur le dossier récemment créé et sélectionnezCréer une tâche option.

  7. Dans la case «Nom», entrez un nom pour la tâche.

  8. Dans l'onglet «Général», sous la section «Options de sécurité», sélectionnez le Exécuter, que l'utilisateur soit connecté ou non option. (Il s'agit de l'option qui empêchera la fenêtre de commande de s'afficher lorsque la tâche s'exécute automatiquement.)

    Task Scheduler General tab

    Onglet Général du Planificateur de tâches
  9. Effacer leNe pas stocker de mot de passe option.

  10. Cliquez sur l'onglet «Déclencheurs».

  11. Clique le Nouveau bouton.

  12. À l'aide du menu déroulant «Commencer la tâche», sélectionnez Sur un calendrier.

  13. Sous 'Paramètres', indiquez à quel moment vous souhaitez exécuter la tâche (par exemple, à l'heure, tous les jours, toutes les semaines, tous les mois). Quelle que soit l'option que vous sélectionnez, assurez-vous de spécifier Début paramètres sur le côté droit.

  14. Clique leD'accord bouton.

    Task Scheduler Trigger settings

    Paramètres de déclenchement du Planificateur de tâches
  15. Clique le Actions languette.

  16. Clique le Nouveau Bouton.

  17. À l'aide du menu déroulant «Actions», sélectionnez leLancer un programme option.

  18. Dans le champ 'Programme / script', saisissez la commande suivante:

    powershell.exe
  19. Dans le champ 'Ajouter des arguments', tapez la commande suivante et cliquez sur leD'accord bouton.

    -ExecutionPolicy Bypass C:  path  to  cleanup.ps1

    Dans la commande ci-dessus, n'oubliez pas de changer 'C: chemin vers cleanup.ps1' en spécifiant le chemin d'accès au script PowerShell que vous avez créé précédemment pour supprimer des fichiers.

    Task Scheduler Action settings

    Paramètres d'action du Planificateur de tâches
  20. Clique le Paramètres languette.

  21. Vérifiez les options suivantes:

    • Autoriser l'exécution de la tâche à la demande.
    • Exécutez la tâche dès que possible après un démarrage programmé manqué.
    • Si la tâche échoue, redémarrez tout.
  22. Clique leD'accord bouton.

  23. Saisissez votre nom d'utilisateur et votre mot de passe administratifs (le cas échéant).

  24. Clique leD'accord bouton.

Une fois que vous avez terminé les étapes, le script PowerShell s'exécutera selon la planification en supprimant les fichiers à l'emplacement qui sont plus anciens que le nombre de jours que vous avez spécifié. N'oubliez pas de ne pas modifier le nom ou de déplacer le dossier vers un autre emplacement, sinon la tâche échouera.

Mise à jour du 29 janvier 2018: Ce guide a été initialement publié en décembre 2017 et a été mis à jour en janvier 2019.