FORFILES |
Pour les fichiers |
Windows |
Interne |
Syntaxe
forfiles [/p Path] [/m SearchMask] [/s] [/c "Command"] [/d [{+|-}][{Date|Days}]]
|
Paramètres
Nom |
Description |
/? |
Ce paramètre permet d'afficher l'aide sur cette commande. |
/p Path |
Ce paramètre permet d'indiquer le chemin à partir duquel commencer la recherche. Par défaut, la recherche démarre dans le répertoire de travail actuel. |
/m SearchMask |
Ce paramètre permet d'indiquer de rechercher des fichiers en fonction du masque de recherche spécifié. Le masque de recherche par défaut est «*.\*». |
/s |
Ce paramètre permet de demander à la commande forfiles de rechercher récursivement dans les sous-répertoires. |
/c "Command" |
Ce paramètre permet d'exécuter la commande spécifiée sur chaque fichier. Les chaînes de caractères de commandes doivent être placées entre guillemets. La commande par défaut est «cmd / c echo @file». |
/d[{+|-}][{Date|Days}] |
Ce paramètre permet de sélectionner les fichiers avec une date de dernière modification dans le délai spécifié.
Vous pouvez sélectionner les fichiers dont la dernière date de modification est postérieure ou égale à (+) ou antérieure ou égale à (-) la date spécifiée, où Date est au format
MM/JJ/AAAA.
Vous pouvez sélectionner les fichiers dont la dernière date de modification est postérieure ou égale à (+) la date actuelle plus le nombre de jours spécifié, ou antérieure ou égale à
(-) la date actuelle moins le nombre de jours spécifié.
Les valeurs valides pour Days incluent tout nombre compris entre 0 et 32 768. Si aucun signe n'est spécifié, le «+» est utilisé par défaut. |
Description
Cette commande permet de sélectionner et exécuter une commande sur un fichier ou un ensemble de fichiers. Cette commande est utile pour le traitement par lots.
Remarques
- Pour inclure des caractères spéciaux dans la ligne de commande, utilisez le code hexadécimal du caractère au format 0xHH (exemple: 0x09 pour le caractère de tabulation). Les
commandes internes CMD doivent être précédées de «cmd /c».
- Les dernières dates de modification définies dans le futur ne sont pas commune, mais peuvent se produire lorsque la date et l'heure de l'horloge de votre ordinateur est modifiée,
par exemple en raison de l'heure d'été.
- Les premières versions de la commande FORFILES étaient fournies dans l'ensemble de ressources NT et utilisaient les paramètres «-» de style Unix (toujours pris en
charge pour la compatibilité descendante). A cette époque, le paramètre /D n'acceptait que les dates au format JJMMAAAAHHMN.
- Avec la commande FORFILES, vous pouvez exécuter une commande ou transmettre des paramètres à plusieurs fichiers. Par exemple, vous pouvez exécuter la commande
TYPE sur tous les fichiers d'une arborescence avec l'extension de nom de fichier .txt. Ou vous pouvez exécuter chaque fichier de traitement par lots
(*.bat) sur l'unité de disque C, avec le nom de fichier "monentree.txt" comme premier paramètre.
- Les versions récentes de la commande FORFILES contiennent un bogue dans le traitement des paramètres de ligne de commande : l'exécution d'une commande /c contenant
un paramètre tel que «FORFILES /C "PING -a"» échouera. La convention attendue est que argv[0] contiendra le nom du programme, mais la commande FORFILES passe à la
place le premier paramètre comme argv[0]. Les anciennes versions, datant d'avant la version 1.46 (24 mars 2006), ne souffre pas de ce bogue.
- La commande FORFILES fonctionne en mettant en oeuvre le drapeau de sous-répertoires récursivement sur des outils ou des commandes conçus pour ne traiter qu'un seul fichier.
Variables de commande
Nom |
Description |
@file |
Cette variable permet d'indiquer le nom du fichier. |
@fname |
Cette variable permet d'indiquer le nom de fichier sans extension. |
@ext |
Cette variable permet d'indiquer l'extension du fichier seulement. |
@path |
Cette variable permet d'indiquer le chemin complet du fichier. |
@relpath |
Cette variable permet d'indiquer le chemin relatif du fichier. |
@isdir |
Cette variable permet d'indiquer de retourner "TRUE" si un type de fichier est un répertoire et "FALSE" pour les fichiers. |
@fsize |
Cette variable permet d'indiquer la taille du fichier en octets. |
@fdate |
Cette variable permet d'indiquer la date de dernière modification du fichier. |
@ftime |
Cette variable permet d'indiquer la dernière heure de modification du fichier. |
Exemples
L'exemple suivant permet de supprimer les fichiers «.bak» plus vieux de 5 jours :
forfiles /m *.bak /c "cmd /c del @file " /d -5
|
L'exemple suivant permet d'afficher la liste de tous les répertoires de l'unité de disque C: :
forfiles /p c:\ /s /m *.* /c "cmd /c if @isdir==TRUE echo @file est un répertoire"
|
Variante
Station de travail |
Serveur |
Clone |
Windows 98 |
Windows XP |
Windows Vista |
Windows 7 |
Windows 8 |
Windows 10 |
Windows NT Server |
Windows 2000 Server |
Windows Server 2003 |
Windows Server 2008 |
ReactOS |
Dernière mise à jour : Samedi, le 15 février 2020