Find / Ctime / Exec équivalent sous Windows

Si, comme moi, vous conchiez Windows, mais si, comme moi, vous devez quand même bosser avec (-_-), vous pestez souvent sur le manque d'ergonomie et de fonctionnalités du shell Windows. Aujourd'hui, j'avais besoin de purger des fichiers archives régulièrement, ceux dont la date était supérieure à 30 jours. Très basiquement, sous Linux, j'aurais utilisé le triplet find/ctime/exec avec un rm pour gérer cela. C'est bien beau, mais on n'est pas sous Linux ! Alors après une petite phase de Google, j'ai trouvé cet utilitaire magique : forfiles.exe.

Attention ! Il n'est disponible que sur Windows Server (mais très bien copiable sur n'importe quel autre Windows)

Sa syntaxe ressemble au find de Linux :

forfiles /P "%OUTPUT_DST_ARCHIVE%" /S /M *.* /d -30 /C "cmd /C del /Q @path & cmd /c echo Deleted file @path"
  • /P = Chemin de base de recherche
  • /S = explorer les sous-répertoires
  • /M = Pattern des fichiers à rechercher (équivalent -name)
  • /D = Nombre de jours ou date
  • /C = Commande à appeller

Plus d'infos dans le man forfiles !

Damien Gustave

Read more posts by this author.