Hello, à propos de la commande "FORFILES"
Voici la page que je livre à votre attention pour la lire d'abord : Use Forfiles To Process Files - gHacks Tech News @ https://www.ghacks.net/2010/08/05/use-forfiles-to-process-files-based-on-age/ ... Il est toujours bon de connaître la magie de la ligne de commande, car il est parfois plus facile de traiter les commandes de cette façon. Ce guide illustre la commande Forfiles dans Windows Vista et Windows 7 (mise à jour : également disponible dans les versions plus récentes de Windows). Forfiles peut traiter les fichiers en fonction des noms, des extensions de fichiers et de l'âge. Il est par exemple possible de trouver tous les documents d'un répertoire qui datent de plus de 20 jours, ou ... - forfiles | Microsoft Learn @ https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/forfiles - Alors j'ai testé la commande "forfiles" avec "invite de commandes" (mode administrateur ou pas) : FORFILES /P "C:\Program Files (x86)\Microsoft\Edge" /C "cmd /c echo Chemin: @path" /S /M *.exe
Chemin: "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" Chemin: "C:\Program Files (x86)\Microsoft\Edge\Application\msedge_proxy.exe" Chemin: "C:\Program Files (x86)\Microsoft\Edge\Application\pwahelper.exe" ...
Cordialement. - C:\WINDOWS\system32>FORFILES /? FORFILES [/P nom_chemin_accès] [/M masque_recherche] [/S] [/C commande] [/D [+ | -] {dd-MM-yyyy | dd}]
Description : Sélectionne un fichier (ou un ensemble de fichiers) et exécute une commande sur ce fichier. Utile pour les programmes de commandes.
Liste de paramètres : /P nom_chemin_accès Indique le chemin d’accès pour lancer la recherche. Le dossier par défaut est le répertoire en cours (.).
/M masque_recherche Recherche les fichiers selon un masque de recherche. Le masque de recherche par défaut est '*'.
/S Force forfiles à traiter récursivement les sous-répertoires. Identique à "DIR /S".
/C commande Indique la commande à exécuter pour chaque fichier. Les chaînes de commandes ne doivent pas être entourées de guillemets doubles.
La commande par défaut est "cmd /c echo @file".
Les variables suivantes peuvent être utilisées dans la chaîne de commandes : @file - renvoie le nom du fichier. @fname - renvoie le nom du fichier sans extension. @ext - renvoie uniquement l’extension du fichier. @path - renvoie le chemin d’accès complet du fichier. @relpath - renvoie le chemin d’accès relatif du fichier. @isdir - renvoie "TRUE" si un type de fichier est un répertoire et "FALSE" pour les fichiers. @fsize - renvoie la taille du fichier en octets. @fdate - renvoie la date de dernière modification du fichier. @ftime - renvoie la dernière heure de modification du fichier.
Pour inclure des caractères spéciaux dans la ligne de commande, utilisez le code hexadécimal du caractère sous le format 0xHH (ex. 0x09 pour la tabulation). Les commandes CMD.exe internes doivent être précédées de "cmd /c".
/D date Sélectionne les fichiers dont la date de dernière modification est supérieure ou égale à (+), ou inférieure ou égale à (-) la date spécifiée à l’aide du format "dd-MM-yyyy" ; ou sélectionne les fichiers dont la date de dernière modification est supérieure ou égale à (+) la date actuelle plus "jj" jours, ou inférieure ou égale à (-) la date actuelle moins "jj" jours. Un nombre de jours "jj" valide peut être tout nombre compris dans la plage de 0 à 32768. "+" est le signe par défaut si aucun signe n’est spécifié.
/? Affiche ce message d’aide.
Exemples : FORFILES /? FORFILES FORFILES /P C:\WINDOWS /S /M DNS*.* FORFILES /S /M *.txt /C "cmd /c type @file | more" FORFILES /P C:\ /S /M *.bat FORFILES /D -30 /M *.exe /C "cmd /c echo @path 0x09 a été modifié il y a 30 jours" FORFILES /D 01-01-2001 /C "cmd /c echo @fname est nouveau depuis le 1er jan. 2001" FORFILES /D +23-2-2023 /C "cmd /c echo @fname date de ce jour" FORFILES /M *.exe /D +1 FORFILES /S /M *.doc /C "cmd /c echo @fsize" FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file" -