Exporter (0) Imprimer
Développer tout
Arp
At
Cd
Cls
Cmd
Del
Dir
Fc
For
Ftp
If
Ldp
Lpq
Lpr
Md
Mmc
Msg
Nlb
Rcp
Rd
Reg
Rem
Ren
Rsh
Rsm
Rss
Sc
Set
Sfc
Ver
Vol
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Pour

Exécute une commande pour chaque fichier dans un ensemble de fichiers.

Pour obtenir des exemples d'utilisation de cette commande, voir des exemples.

Syntaxe



pour {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>]

Paramètres

Paramètre Description

{%% | %} <Variable>

Obligatoire. Représente un paramètre remplaçable. Utiliser un seul signe de pourcentage (%)pour exécuter la commande for d'invite de commande. Utilisez doubles signes de pourcentage (%) pour exécuter la commande for dans un fichier de commandes.%% Variables respectent la casse, et ils doivent être représentées avec une valeur alphabétique comme %A, %Bou %C.

(<Set>)

Obligatoire. Spécifie un ou plusieurs fichiers, des répertoires ou des chaînes de texte ou d'une plage de valeurs sur lequel exécuter la commande. Les parenthèses sont obligatoires.

<Command>

Obligatoire. Spécifie la commande que vous souhaitez effectuer sur chaque fichier, répertoire ou chaîne de texte, ou sur la plage de valeurs inclus dans le jeu.

<CommandLineOptions>

Spécifie les options de ligne de commande que vous souhaitez utiliser avec la commande spécifiée.

/?

Affiche l'aide à l'invite de commande.

Remarques

  • À l'aide de

    Vous pouvez utiliser la commande for dans un fichier de commandes ou directement à partir de l'invite de commande.

  • À l'aide des paramètres de traitement par lots

    Les attributs suivants s'appliquent à la commande pour :

    • La commande for remplace %Variable ou un ensemble de %Variable avec chaque chaîne de texte dans le texte spécifié jusqu'à ce que la commande spécifiée traite tous les fichiers.

    • Les noms de variables sont respectant la casse, global et pas plus de 52 peut être actif à la fois.

    • Pour éviter toute confusion avec les paramètres de lot %0 à %9, vous pouvez utiliser n'importe quel caractère pour la Variable sauf les chiffres 0 à 9. De simples fichiers batch, un caractère unique, telles que %Value% fonctionnera.

    • Vous pouvez utiliser plusieurs valeurs pour la Variable dans les fichiers de commandes complexes pour distinguer les diverses variables remplaçables.

  • Spécification d'un groupe de fichiers

    Le paramètre Set peut représenter un seul groupe de fichiers ou de plusieurs groupes de fichiers. Vous pouvez utiliser des caractères génériques (* et ?) pour spécifier un fichier de jeu. Ensembles de fichiers valides sont les suivantes :

    
    
    (* .doc) (*.doc *.txt * .me)(jan*.doc jan*.rpt fév*.doc fév*.rpt)(ar??1991.* PA??1991.*)
    
    
    Lorsque vous utilisez la commande for , la première valeur du jeu remplace laVariable%ou %Variable , et puis la commande spécifiée traite cette valeur. Ce processus continue jusqu'à ce que tous les fichiers (ou groupes de fichiers qui correspondent à la valeur définie ) sont traitées.

  • En utilisant les mots clés dans et faire

    Dans et ne sont pas des paramètres, mais vous devez les utiliser avec pour. pour Si vous omettez un de ces mots clés, un message d'erreur s'affiche.

  • À l'aide de formes supplémentaires de pour

    Si les extensions de commandes sont activées (ce qui est la valeur par défaut), les formes supplémentaires de for sont prises en charge :

    • Répertoires uniquement

      Si la valeur contient des caractères génériques (* ou ?), la commande spécifiée s'exécute pour chaque répertoire (au lieu d'un ensemble de fichiers dans un répertoire spécifié) qui correspond à la valeur.

      La syntaxe est :

      
      
      pour /d {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>]
      
      
    • Récursive

      Parcourt l'arborescence du répertoire qui est situé au niveau du lecteur:chemin d'accès et exécute l'instruction for dans chaque répertoire de l'arborescence. Si aucun répertoire n'est spécifié après/r, le répertoire en cours est utilisé comme répertoire racine. Si la valeur n'est qu'un seul point (.), il énumère uniquement l'arborescence du répertoire.

      La syntaxe est :

      
      
      Pour /r [[<Drive>:] <Path>] {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>]
      
      
    • Itération d'une plage de valeurs

      Utilisez une variable itérative pour définir la valeur de départ (Démarrer#) et ensuite l'étape dans une plage définie de valeurs jusqu'à ce que la valeur dépasse la valeur de fin définie (fin#). /l exécute l'itération en comparant les Démarrer# avec fin#. Si Démarrer# est inférieur à la fin#, la commande s'exécute. Lorsque la variable itérative dépasse fin#, le shell de commande quitte la boucle. Vous pouvez également utiliser un négatif étape# pour faire défiler une plage de valeurs décroissantes. Par exemple, (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.

      La syntaxe est :

      
      
      pour /l {%% | %} <Variable>dans (< début # >, < étape # >, < fin # >) <Command>[<CommandLineOptions>]
      
      
    • Itération et analyse de fichier

      Utilisez l'analyse à la sortie de commande de processus, les chaînes et le contenu du fichier des fichiers. Utiliser des variables itératives pour définir le contenu ou les chaînes que vous souhaitez examiner et utiliser les diverses options MotsClésAnalyse pour modifier l'analyse. Utilisez l'option de jeton MotsClésAnalyse pour spécifier quels jetons doivent être passés en tant que variables itératives. Notez que lorsqu'il est utilisé sans l'option de jeton, /f n'examine que le premier jeton.

      L'analyse des fichiers se compose de la lecture de la sortie, la chaîne ou le contenu du fichier, puis diviser en lignes de texte et l'analyse de chaque ligne dans zéro jeton ou davantage. La boucle for est ensuite appelée avec la valeur de la variable itérative définie sur le jeton. Par défaut, /f passe le premier jeton séparé par un vide à partir de chaque ligne de chaque fichier. Les lignes vides sont ignorées.

      Les syntaxes sont :

      
      
      for /f ["<ParsingKeywords>"] {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>] for /f ["MotsClésAnalyse"] {%% | %} <Variable>dans ("<LiteralString>") <Command>[<CommandLineOptions>] for /f ["<ParsingKeywords>"] {%% | %} <Variable>dans ('<Command> ') <Command>[<CommandLineOptions>]
      
      
      L'argument valeur spécifie un ou plusieurs noms de fichier. Chaque fichier est ouvert, lu et traité avant de passer au fichier suivant dans le jeu. Pour substituer le comportement d'analyse par défaut, spécifiez MotsClésAnalyse. Il s'agit d'une chaîne entre guillemets qui contient un ou plusieurs mots-clés pour spécifier différentes options d'analyse.

      Si vous utilisez l'option usebackq , utilisez l'une des syntaxes suivantes :

      
      
      for /f ["usebackq <ParsingKeywords>"] {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>] for /f ["usebackq <ParsingKeywords>"] {%% | %} <Variable>dans ("<LiteralString>") <Command>[<CommandLineOptions>] for /f ["usebackq <ParsingKeywords>"] {%% | %} <Variable>dans ('<Command> ') <Command>[<CommandLineOptions>]
      
      
      Le tableau suivant répertorie les mots clés d'analyse que vous pouvez utiliser pour MotsClésAnalyse.

      Mot clé Description

      EOL = <c>

      Spécifie un caractère de fin de ligne (juste un caractère).

      Ignorer = <N>

      Spécifie le nombre de lignes à sauter au début du fichier.

      delims = <xxx>

      Spécifie un jeu de séparateur. Cette option remplace le jeu de délimiteur par défaut de l'espace et la tabulation.

      jetons = < X, Y, M–N >

      Spécifie les jetons de chaque ligne qui doivent être passés à la boucle for pour chaque itération. Par conséquent, les noms des variables supplémentaires sont alloués. MN spécifie une plage, à partir de la mième les nième jetons. Si le dernier caractère de la jetons = chaîne est un astérisque, une variable supplémentaire est allouée et il reçoit le texte restant de la ligne après le dernier jeton qui est analysé.*

      usebackq

      Spécifie pour exécuter une chaîne entre guillemets l'arrière en tant que commande et une chaîne entre guillemets simples comme une littéral de chaîne de commande. Permet également, les noms de fichiers dans le jeu pour être placé entre guillemets.

    • Substitution de variable

      Le tableau suivant répertorie les syntaxes facultatives (pour n'importe quelle variable I).

      Variable avec modificateur Description

      % ~ I

      Développe %I qui supprime les guillemets ("").

      % ~ fI

      Développe %I en nom de chemin d'accès complet.

      % ~ dI

      Développe %I en une lettre de lecteur seulement.

      % ~ pI

      Développe %I en chemin seulement.

      % ~ nI

      Développe %I en nom de fichier seulement.

      % ~ xI

      Développe %I en une extension de nom de fichier uniquement.

      % ~ sI

      Développe le chemin d'accès contenant uniquement des noms courts.

      % ~ AÏ

      Développe %I en les attributs du fichier.

      % ~ tI

      Développe %I jusqu'à la date et l'heure du fichier.

      % ~ zI

      Développe %I jusqu'à la taille du fichier.

      % ~$ PATH: I

      Recherche les répertoires énumérés dans la variable d'environnement PATH et développe %i jusqu'au nom qualifié complet du premier répertoire trouvé. Si le nom de variable d'environnement n'est pas défini ou si le fichier n'est pas trouvé par la recherche, ce modificateur se développe en une chaîne vide.

      Le tableau suivant répertorie les combinaisons de modificateurs que vous pouvez utiliser pour obtenir des résultats composés.

      Variable avec modificateurs combinés Description

      % ~ PPP

      Développe %I en une lettre de lecteur et un chemin seulement.

      % ~ nxI

      Développe %I en nom de fichier et extension uniquement.

      % ~ fsI

      Développe %I en un nom de chemin complet avec des noms courts.

      % ~ dp$ PATH: I

      Recherche dans les répertoires qui sont listés dans la variable d'environnement PATH pour %I et développe la lettre de lecteur et chemin d'accès de la première occurrence trouvée.

      % ~ ftzaI

      Développe %I en une ligne de sortie est similaire à dir.

      Dans les exemples ci-dessus, vous pouvez remplacer %I et PATH avec d'autres valeurs valides. Met fin à un nom de variable valide pour le % ~ syntaxe.

      En utilisant des noms de variables en majuscules tels que %I, vous pouvez rendre votre code plus lisible et éviter toute confusion avec les modificateurs, qui ne sont pas sensibles aux majuscules.

  • L'analyse d'une chaîne

    Vous pouvez utiliser le for /f logique d'analyse sur une chaîne immédiate en encapsulant la valeur entre apostrophes--par exemple, ('jeu'). La valeur est traitée comme une seule ligne d'entrée d'un fichier, et puis elle est analysée.

  • Analyse de la sortie

    Vous pouvez utiliser la commande for /f pour analyser la sortie d'une commande en effectuant une chaîne entre guillemets l'arrière à partir de la valeur entre parenthèses. Il est traité comme une ligne de commande, qui est passée à un fichier Cmd.exe enfant. La sortie est capturée en mémoire et analysée comme s'il s'agit d'un fichier.

Exemples

Pour utiliser for dans un fichier de commandes, utilisez la syntaxe suivante :



pour {%% | %} <Variable>dans (<Set>) <Command>[<CommandLineOptions>]

Pour afficher le contenu de tous les fichiers du répertoire en cours qui ont l'extension .doc ou .txt à l'aide de la variable remplaçable %f, tapez :



for %f in (*.doc *.txt) tapez %f

Dans l'exemple précédent, chaque fichier possède l'extension .doc ou .txt dans le répertoire actif est substitué pour la variable %f jusqu'à ce que le contenu de tous les fichiers est affiché. Pour utiliser cette commande dans un fichier de commandes, remplacez toutes les occurrences de %f par %Value%. Dans le cas contraire, la variable est ignorée et un message d'erreur s'affiche.

Pour analyser un fichier, en ignorant les lignes de commentaires, type :



for /f "eol = ;jetons = 2, 3 * delims =, "%i in (myfile.txt) effectuez @echo %i %j %k

Cette commande analyse chaque ligne du fichier monfichier.txt. Il ignore les lignes qui commencent par un point-virgule et transmet le jeton de deuxième et troisième à partir de chaque ligne au corps pour (les jetons sont délimités par des virgules ou des espaces). Le corps de l'instruction for référence %i pour obtenir le second jeton, %j pour obtenir le troisième jeton et %k pour obtenir tous les jetons restants. Si les noms de fichier que vous fournissez contient des espaces, utilisez des guillemets autour du texte (par exemple, "nom fichier"). Pour utiliser des guillemets, vous devez utiliser usebackq. Dans le cas contraire, les guillemets sont interprétés comme définissant une chaîne littérale à analyser.

%i est déclaré explicitement dans l'instruction for . %j et %k sont implicitement déclarées à l'aide de jetons =. Vous pouvez utiliser jetons = permet de spécifier jusqu'à 26 jetons, autant qu'il n'entraîne pas une tentative déclarer une variable supérieure à la lettre « z » ou « Z ».

L'exemple suivant énumère les noms de variables d'environnement dans l'environnement actuel. Pour analyser la sortie d'une commande en plaçant la valeur entre parenthèses, tapez :



for /f "usebackq delims ==" %i in ('set') effectuez @echo %i

Références supplémentaires

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft