LA COMMANDE FOR
Commande interne. Fonctionne sur la ligne de commande ou dans un batch mais avec une legere difference.
Execute la commande que vous specifiez pour chaque fichier d'un groupe donne.
Syntaxe
Pour executer FOR dans un batch tapez:
FOR %%variable IN (groupe) DO commande [param]
Pour executer FOR sur la ligne de commande utilisez la syntaxe:
FOR %variable IN (groupe) DO commande [param]
Parametres
%%variable (dans un batch) ou %variable (depuis la ligne de commande)
Represente une variable remplacable. La commande FOR remplace %%variable (ou %variable) par chaque chaine de texte figurant dans le groupe specifie jusqu'a ce que la commande donnee en parametre ait traite tous les fichiers. Utilisez %%variable pour executer la commande FOR dans un batch. Utilisez %variable pour executer FOR sur la ligne de commande.
(groupe)
Selectionne un ou plusieurs fichiers ou chaines de texte a traiter a l'aide de la commande specifiee. Les parentheses sont obligatoires.
commande
Indique la commande a executer dans chaque fichier du groupe specifie.
param
Indique les parametres ou commutateurs a utiliser avec la commande specifiee (si elle en accepte, et avec la bonne syntaxe!).
Utilisation des mots cles IN et DO
Bien que n'etant pas des parametres, IN et DO doivent etre utilises dans la commande FOR. Si vous oubliez d'en specifier un le DOS affiche un message d'erreur.
Utilisation de la variable remplacable
Pour eviter toute confusion avec les parametres des fichiers de commandes %0 a %9 vous pouvez remplacer la variable par les caracteres de votre choix excepte les chiffres de 0 a 9. Dans les batchs simples un seul caractere tel que %%F peut suffir.
Dans les batchs complexes vous pouvez utiliser plusieurs valeurs afin de faire la distinction entre les diverses variables remplacables. Cependant vous ne pouvez specifier qu'une commande FOR sur la ligne de commande.
Specification de plusieurs fichiers
Le parametre groupe peut representer un ou plusieurs groupe(s) de fichiers qui peuvent etre specifies a l'aide de caracteres generiques (* et ?). Voici les groupes de fichiers admis: (*.doc) (*.doc *.txt *.me) (jan*.doc jan*.rpt fev*.doc fev*.rpt) (ar??1991.* ap??1991.*)
Lorsque vous utilisez la commande FOR la premiere valeur de groupe remplace %%variable (ou %variable) et le DOS execute la commande specifiee pour traiter cette valeur et recommence jusqu'a ce que tous les fichiers ou groupes de fichiers correspondant a la valeur (ou aux valeurs) de groupe aient ete traites.
Exemples
Si vous voulez utiliser la commande [TYPE] pour afficher le contenu de tous les fichiers du repertoire en cours portant l'extension .DOC ou.TXT et utiliser la variable remplacable %F tapez la commande suivante sur la ligne de commande: for %f in (*.doc *.txt) do type %f
Dans cet exemple chaque fichier du repertoire en cours portant l'extension .DOC ou .TXT remplace la variable %F jusqu'a ce que le contenu de tous les fichiers soit affiche. Pour utiliser cette commande dans un batch il suffit de remplacer chaque occurrence de %F par %%F sinon le DOS ignore la variable et affiche un message d'erreur.
Le DOS gere les commutateurs de commande les chaines de commande et les redirections utilises avec la commande specifiee. Par exemple pour rediriger la sortie de l'exemple precedent vers [PRN] (le port d'imprimante par defaut) tapez: for %f in (*.doc *.txt) do type %f > prn: