FOR: Exécute une commande sur chaque fichier d'un groupe de fichiers.


... "FOR" Extrait de l'aide de Microsoft Windows
... Les exemples pour la commande "FOR"
... Informations importantes, conseils pour la commande "FOR"

La commande : "FOR" est activé Windows 11, 10, .. disponible

"FOR" Extrait de l'aide de Microsoft Windows

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

Exécute une commande donnée pour chaque fichier d'un ensemble de fichiers.

FOR %variable IN (ensemble) DO commande [paramètres]

  %variable   Spécifie un paramètre remplaçable par une seule lettre.
  (ensemble)  Ensemble de fichiers. Caractères génériques autorisés.
  commande    Commande à exécuter pour chaque fichier.
  paramètres  Liste des paramètres ou des options pour la commande
              spécifiée.

Pour utiliser la commande FOR dans un programme de commandes, spécifiez
%%variable au lieu de %variable. Les noms de variables respectent la
casse, donc %i est différent de %I.

Si les extensions de commandes sont activées, les formes supplémentaires
suivantes sont prises en charge pour la commande FOR :

FOR /D %variable IN (ensemble) DO commande [paramètres]

    Si ensemble contient des caractères génériques, alors la correspondance se 
    fait sur les noms de répertoires au lieu des noms de fichiers.

FOR /R [[lecteur:]chemin] %variable IN (ensemble) DO commande [paramètres]

    Parcourt l'arborescence de répertoires depuis la racine [lecteur:]chemin,
    en exécutant FOR dans chaque répertoire de l'arborescence. Si aucun
    répertoire n'est spécifié après /R alors le répertoire en cours est
    utilisé. Si ensemble est seulement un point (.) alors seule l'arborescence
    de répertoires sera énumérée.

FOR /L %variable IN (début,pas,fin) DO commande [paramètres]

    L'ensemble est une séquence de chiffres allant de début à fin, incrémenté
    de pas. Ainsi (1,1,5) génère la séquence 1 2 3 4 5 et (5,-1,1) génère la
    séquence (5 4 3 2 1)

FOR /F ["options"] %variable IN (ensemble-fichiers) DO commande [paramètres]
FOR /F ["options"] %variable IN ("chaîne") DO commande [paramètres]
FOR /F ["options"] %variable IN ('commande') DO commande [paramètres]

    ou, si l'options usebackq est utilisée :

FOR /F ["options"] %variable IN (ensemble-fichiers) DO commande [paramètres]
FOR /F ["options"] %variable IN ('chaîne') DO commande [paramètres]
FOR /F ["options"] %variable IN (`commande`) DO commande [paramètres]

    ensemble-fichiers est un ou plusieurs noms de fichiers. Chaque fichier est
    ouvert, lu et traité avant de passer au fichier suivant de
    ensemble-fichiers. Le traitement consiste à lire dans le fichier, le
    découper en lignes individuelles de texte puis analyser chaque ligne en
    zéro ou plusieurs parties. Le corps de la boucle FOR est ensuite appelé
    avec la ou les valeurs de variables prenant la valeur de la ou des parties
    trouvées. Par défaut, /F transmet la première partie séparée par un blanc
    dans chaque ligne de chaque fichier. Les lignes vides sont ignorées. Vous
    pouvez outrepasser le comportement d'analyse par défaut en spécifiant le
    paramètre optionnel "options". Ceci est une chaîne entre guillemets
    contenant un ou plusieurs mots-clés spécifiant diverses options d'analyse.
    Les mots-clés sont :

        eol=c           - spécifie un caractère de commentaire de fin de ligne
                          (un seul)
        skip=n          - spécifie le nombre de lignes à ignorer en début
                          de fichier.
        delims=xxx      - spécifie un ensemble de délimiteurs. Ceci remplace
                          l'ensemble de délimiteurs par défaut qui sont
                          l'espace et la tabulation.
        tokens=x,y,m-n  - spécifie les parties de chaque ligne devant être
                          transmises au corps de FOR à chaque itération.
                          Ceci provoquera l'allocation de noms de variables
                          supplémentaires. La forme m-n est une étendue
                          spécifiant les parties allant de m à n. Si le
                          dernier caractère de la chaîne tokens= est une
                          astérisque, alors une variable supplémentaire est
                          allouée et reçoit le texte restant dans la ligne
                          suivant la dernière partie analysée.
        usebackq        - spécifie que la nouvelle sémantique est en place,
                          lorsqu'une chaîne entre guillemets inversés est
                          exécutée en tant que commande et une chaîne entre
                          guillemets simples est une chaîne de commande
                          littérale et permet l'utilisation de guillemets
                          doubles pour citer des noms de fichiers.

    Quelques exemples explicatifs :

FOR /F "eol=; tokens=2,3* delims=, " %i in (monfich.txt) do @echo %i %j %k

    analyse chaque ligne de monfich.txt, en ignorant les lignes commençant
    par un point-virgule, en transmettant les 2nde et 3ème parties de
    chaque ligne au corps de FOR, les parties étant délimitées par des
    virgules et/ou espaces. Notez que le corps de FOR référence %i pour
    l'obtention de la 2nde partie, %j pour l'obtention de la 3ème partie
    et %k pour l'obtention des parties restantes après la 3ème. Pour les
    noms de fichiers contenant des espaces, placez les noms de fichiers
    entre guillemets doubles. Afin d'utiliser ainsi les guillemets doubles,
    vous devez également utiliser l'option usebackq, faute de quoi les
    guillemets doubles seraient interprétés comme définissant une chaîne
    littérale à analyser.

    %i est déclarée explicitement dans la déclaration FOR et %j et %k
    sont déclarées implicitement via l'option tokens=. Vous pouvez spécifier
    jusqu'à 26 paries via la ligne tokens=, tant que cela ne provoque pas
    de tentative de déclaration de variable plus élevée que la lettre 'z'
    ou 'Z'. Souvenez-vous que les variables de FOR se composent de lettres,
    tiennent compte de la casse, sont globales et que  plus de 52 ne peuvent
    pas être actives à la fois.

    Vous pouvez aussi utiliser la logique d'analyse FOR /F sur une chaîne en
    plaçant ensemble-fichiers entre guillemets entre les parenthèses,
    en utilisant des guillemets simples. Elle sera traitée comme une ligne
    d'entrée simple provenant d'un fichier puis analysée.

    Enfin, vous pouvez utiliser la commande FOR /F pour analyser les
    données en sortie d'une commande. Faites ceci en plaçant des guillemets
    inversés autour de ensemble-fichiers entre les parenthèses.  Elle sera
    traitée comme une ligne de commande transmise à un CMD.EXE enfant et
    la sortie est gardée en mémoire et analysée comme s'il s'agissait d'un
    fichier. Ainsi l'exemple suivant :

      FOR /F "usebackq delims==" %i IN (`ensemble`) DO @echo %i

    énumérerait les noms de variables d'environnement de l'environnement
    en cours.

De plus, la substitution de références de variables FOR a été améliorée.
Vous pouvez maintenant utiliser la syntaxe optionnelle suivante :

    %~I         - étend %I en supprimant les guillemets (")
    %~fI        - étend %I en nom de chemin d'accès reconnu
    %~dI        - étend %I en lettre de lecteur uniquement
    %~pI        - étend %I en chemin d'accès uniquement
    %~nI        - étend %I en nom de fichier uniquement
    %~xI        - étend %I en extension de fichier uniquement
    %~sI        - chemin étendu contenant uniquement des noms courts
    %~aI        - étend %I en attributs du fichier
    %~tI        - étend %I en date/heure du fichier
    %~zI        - étend %I en taille du fichier
    %~$PATH:I   - parcourt les répertoires de la variable
                   d'environnement PATH et étend %I en nom du
                   premier fichier reconnu trouvé. Si le nom de la
                   variable d'environnement n'est pas défini ou
                   que le fichier n'est pas trouvé par la recherche,
                   alors ce modificateur étend en chaîne vide

Vous pouvez combiner les modificateurs pour obtenir des résultats composés :

    %~dpI       - étend %I en lettre de lecteur et chemin d'accès uniquement
    %~nxI       - étend %I en nom de fichier et extension uniquement
    %~fsI       - étend %I en nom de chemin complet avec noms courts
                   uniquement
    %~dp$PATH:i - parcourt les répertoires listés dans la variable
                   d'environnement PATH à la recherche de %I et étend
                   en lettre de lecteur du premier trouvé.
    %~ftzaI     - étend %I en DIR comme ligne en sortie

Dans les exemples ci-dessus %I et PATH peuvent être remplacés par d'autres
valeurs valides. La syntaxe %~ se termine par un nom de variable FOR valide.
Le choix de noms de variables en majuscules comme %I facilite la lecture
et empêche toute confusion avec les modificateurs qui ne tiennent pas compte
de la casse.

Les exemples pour la commande "FOR"

Le`FOR`La commande dans l’invite de commande Windows est utilisée pour effectuer une boucle dans les fichiers batch. Voici quelques exemples: Exemple 1 : Parcourir des fichiers dans un répertoire :

FOR %G IN (annuaire\*) DO ECHO %G

Description : Cette commande imprime le nom de chaque fichier dans le répertoire spécifié. Exemple 2 : Parcourir des fichiers avec une extension de fichier spécifique :

FOR %G IN (annuaire\*.txt) DO ECHO %G

Description : Imprime le nom de chaque fichier texte dans le répertoire spécifié. Exemple 3 : itération récursive de fichiers dans des sous-répertoires :

FOR /R annuaire %G IN (*.txt) DO ECHO %G

Description : Parcourt de manière récursive tous les sous-répertoires du répertoire spécifié et imprime le nom de chaque fichier texte. Exemple 4 : Parcourir des nombres dans une plage spécifique :

FOR /L %G IN (1,1,10) DO ECHO %G

Description : Affiche les nombres de 1 à 10. Exemple 5 : Parcourir les caractères d'une chaîne :

FOR %G IN ("Bonjour") DO ECHO %G

Description : Imprime chaque lettre du mot « Bonjour ». Exemple 6 : Parcourir le contenu du fichier ligne par ligne :

FOR /F "tokens=*" %G IN (déposer.txt) DO ECHO %G

Description : Parcourt les lignes du fichier "File.txt" et affiche chaque ligne. Exemple 7 : Itération à travers des variables d'environnement :

FOR %G IN (%PATH%) DO ECHO %G

Description : Parcourt les chemins dans la variable d'environnement`PATH`et génère chaque chemin. Exemple 8 : Utilisation de`SET`en boucle :

FOR %G IN (1 2 3) DO SET /A Nombre=%G * 2 & ECHO Double de %G est %Nombre%

Description : Définit une variable`Nombre`à deux fois le nombre actuel dans la boucle et l'imprime. Exemple 9 : Itération dans les sous-répertoires et les fichiers :

FOR /R %G IN (*) DO ECHO %G

Description : Parcourt de manière récursive tous les sous-répertoires et fichiers du répertoire actuel. Exemple 10 : Boucles imbriquées :

FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H

Description : Imbrique deux boucles et imprime toutes les combinaisons de %G et %H. Veuillez noter que dans les fichiers batch`%`à travers`%%`devrait être remplacé. Par exemple:`FOR %G IN (...) DO ECHO %%G`. Seul le signe d'un pour cent est utilisé dans l'invite directe (`%`).

Informations importantes, conseils pour la commande "FOR"

Lors de l'utilisation du`FOR`dans l'invite de commande Windows, il y a quelques points importants à noter : 1. Syntaxe dans les fichiers batch : Si vous disposez de`FOR`commande dans un fichier batch, vous devez`%`à travers`%%`remplaçant. Par exemple:`FOR %%G IN (...) DO ECHO %%G`. 2. Utilisation de variables : Vous utilisez généralement des variables (par exemple,`%%G`) dans le`FOR`-Boucle pour stocker les valeurs. Notez que les variables ne peuvent pas accéder aux valeurs attribuées en dehors de la boucle.

SET Variable=Valeur initiale
FOR %%G IN (Valeur1 Valeur2) DO SET Variable=%%G
ECHO %Variable%

Ici sera`%Variable%`conserver la valeur "valeur initiale" car le`SET`-Instruction dans un séparé`FOR`la boucle est exécutée. 3. Espaces dans les chemins ou les noms de fichiers : Si les chemins ou les noms de fichiers contiennent des espaces, le chemin ou le nom de fichier doit être placé entre guillemets pour garantir qu'ils sont interprétés correctement.

FOR %%G IN ("Annuaire avec espaces\Fichier avec des espaces.txt") DO ECHO %%G

4. Options pour le`FOR /F`-Boucle : Si vous`FOR`en rapport avec le`/F`option (par exemple,`FOR /F "tokens=*" %%G IN (déposer.txt) DO ECHO %%G`), vous devez connaître la syntaxe du`tokens`et`delims`Ajustez soigneusement les options pour obtenir les résultats souhaités. 5. Boucles imbriquées : Avec les boucles imbriquées, vous devez vous assurer de l'utilisation correcte de`%`ou`%%`faites attention à vous assurer que les variables sont référencées dans la bonne boucle.

FOR %%G IN (1 2) DO (
    ECHO Boucle extérieure: %%G
    FOR %%H IN (A B) DO ECHO Boucle intérieure: %%H
)

6. Fin des lignes du fichier dans`FOR /F`: Si tu`FOR /F`pour parcourir les lignes d'un fichier, par défaut, chaque ligne jusqu'au premier espace ou tabulation est considérée comme un jeton. Vous pouvez le faire avec l'option`delims`ajuster.

FOR /F "tokens=* delims=" %%G IN (déposer.txt) DO ECHO %%G

7. Options variables de date et d'heure : Si vous disposez du`%DATE%`- ou`%TIME%`-Variables en un`FOR`-En boucle, vous devez faire attention au paramètre régional du système, car le format peut varier. 8. Itération dans les fichiers avec encodage UTF-8 : Le`FOR /F`La commande peut avoir des difficultés à parcourir les fichiers avec le codage UTF-8. Dans de tels cas, il serait peut-être préférable d'utiliser d'autres outils comme`FINDSTR`utiliser. Il est important de prendre en compte les exigences spécifiques de votre cas d'utilisation et les`FOR`-Ajustez la boucle en conséquence. Tu peux`FOR /?`dans l'invite de commande pour voir l'aide complète et toutes les options disponibles.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



La commande FOR - Exécute une commande sur chaque fichier d'un groupe de fichiers.

HTTP: ... console/fr/032.htm
0.14
17299

What is better x64, x32, x86 version of desktop ok on Windows?

Kann ich Short Note unter Windows 11, 10 oder 8.1 deinstallieren?

How can I maximize the number of windows desktop icon (border, font size)?

I was able to install Windows 11 without TPM, why?

Open the command prompt in the Windows 11 Terminal APP!

How can I maximize the number of windows desktop icon (border, font size)?



(0)