Forfiles

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Sélection de fichiers par critère et exécution d'une commande
Commande forfiles
Contexte Windows 7/Server 2008 et suivants — équivalent Windows de find côté Linux
Voir aussi Find (équivalent Linux)

forfiles sélectionne des fichiers selon des critères (âge, motif de nom) et exécute une commande sur chacun — cas d'usage typique : purge automatisée de vieux fichiers via une tâche planifiée.

Syntaxe de base

forfiles /p D:\dossier /m *.log /d -30 /c "cmd /c del @file"
  • /p — chemin de départ
  • /m — motif de nom de fichier (par défaut `*.*`)
  • /d — filtre d'âge en jours : -30 = fichiers modifiés il y a plus de 30 jours, +30 = fichiers modifiés il y a moins de 30 jours
  • /s — récursif (sous-répertoires inclus)
  • /c — commande à exécuter pour chaque fichier trouvé ; @file est remplacé par le nom du fichier

Tester avant de supprimer

forfiles /p D:\dossier /s /d -30 /c "cmd /c echo @file"

Comme pour find côté Linux, mieux vaut toujours valider la sélection avec un echo avant de remplacer par une commande destructrice (del) — une fois la liste confirmée correcte, remplacer echo @file par del "@file".

Purge récursive avec confirmation visuelle

forfiles /d -30 /p D:\rep\ /s /c "cmd /c echo del @file & del @file"

Affiche chaque fichier juste avant de le supprimer (utile en exécution manuelle interactive, pour garder une trace visible dans la console de ce qui a été traité).

Voir aussi

  • Find — équivalent Linux, même logique de test avant destruction