Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Sélectionne et exécute une commande sur un fichier ou un ensemble de fichiers. Cette commande est la plus couramment utilisée dans les fichiers batch.
Syntax
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
Parameters
| Parameter | Description |
|---|---|
/P <pathname> |
Spécifie le chemin d’accès à partir duquel démarrer la recherche. Par défaut, la recherche démarre dans le répertoire de travail actuel. |
/M <searchmask> |
Recherche les fichiers en fonction du masque de recherche spécifié. Le masque de recherche par défaut est *. |
| /S | Indique à la commande forfiles d’effectuer une recherche récursive dans les sous-répertoires. |
/C <command> |
Exécute la commande spécifiée sur chaque fichier. Les chaînes de commande doivent être encapsulées entre guillemets doubles. La commande par défaut est "cmd /c echo @file". |
/D [{+\|-}][{<date> | <days>}] |
Sélectionne les fichiers avec une date de dernière modification dans le délai spécifié :
|
| /? | Affiche le texte d’aide dans la fenêtre cmd. |
Remarks
La commande
forfiles /Sest similaire àdir /S.Vous pouvez utiliser les variables suivantes dans la chaîne de commande, comme spécifié par l’option de ligne de commande /C :
Variable Description @FILE File name. @FNAME Nom de fichier sans extension. @EXT Extension de nom de fichier. @PATH Chemin d’accès complet du fichier. @RELPATH Chemin relatif du fichier. @ISDIR Prend la valeur TRUE si un type de fichier est un répertoire. Sinon, cette variable prend la valeur FALSE. @FSIZE Taille du fichier, en octets. @FDATE Horodatage de date de dernière modification sur le fichier. @FTIME Horodatage de la dernière modification sur le fichier. La commande forfiles vous permet d’exécuter une commande sur plusieurs fichiers ou de leur transmettre des arguments. Par exemple, vous pouvez exécuter la commande type sur tous les fichiers d’une arborescence avec l’extension de nom de fichier .txt. Vous pouvez également exécuter chaque fichier de lots (*.bat) sur le lecteur C, avec le nom de fichier Myinput.txt comme premier argument.
Cette commande peut :
Sélectionnez les fichiers par une date absolue ou une date relative à l’aide du paramètre /d .
Générez une arborescence d’archive de fichiers à l’aide de variables telles que @FSIZE et @FDATE.
Différenciez les fichiers des répertoires à l’aide de la variable @ISDIR.
Incluez des caractères spéciaux dans la ligne de commande à l’aide du code hexadécimal pour le caractère, au format 0xHH (par exemple, 0x09 pour une tabulation).
Cette commande fonctionne en implémentant l’indicateur
recurse subdirectoriessur les outils conçus pour traiter un seul fichier.
Examples
Pour répertorier tous les fichiers batch sur le lecteur C, tapez :
forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"
Pour répertorier tous les répertoires sur le lecteur C, tapez :
forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"
Pour répertorier tous les fichiers du répertoire actif qui ont au moins un an, tapez :
forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."
Pour afficher que le fichier texte est obsolète pour chacun des fichiers du répertoire courant qui sont antérieurs au 1er janvier 2007, tapez :
forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."
Pour répertorier les extensions de nom de fichier de tous les fichiers du répertoire actif au format de colonne et ajouter un onglet avant l’extension, tapez :
forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"