« DOS/For » : différence entre les versions
Contenu supprimé Contenu ajouté
mAucun résumé des modifications |
|||
Ligne 11 :
FOR %''variable'' IN (''ensemble de fichiers'') DO ''commande''
Pour ce cas, le FOR s'utilise sans commutateur. Il est généralement utilisé pour boucler sur un ensemble de noms de fichier, d'autant qu'il est utilisé avec les expressions du type *.''
=== Exemples ===
==== Exemple sur de simples chaînes ====
FOR %%i IN (chaine1 chaine2) do @ECHO %%i
Cet exemple est équivalent à
@ECHO chaine1
@ECHO chaine2
Ligne 22 :
==== Exemple sur un ensemble de fichiers sans caractère générique ====
FOR %%i IN (fichier1.txt fichier2.txt) do @TYPE %%i
Cet exemple est équivalent à
@TYPE fichier1.txt
@TYPE fichier2.txt
Ligne 28 :
==== Exemple sur un ensemble de fichiers utilisant les caractères génériques ====
FOR %%i IN (*.txt) do @TYPE "%%i"
En supposant que le répertoire courant contienne les fichiers fich1.txt, fich2.txt et fich3.txt, cet exemple est équivalent à
@TYPE "fich1.txt"
@TYPE "fich2.txt"
Ligne 35 :
Variante :
FOR %%i IN (*.txt *.doc install.log) do @TYPE "%%i"
En supposant que le répertoire courant contienne les fichiers fich1.txt, fich2.txt, fich3.txt, readme.doc, lisezmoi.doc, cet exemple est équivalent à
@TYPE "fich1.txt"
@TYPE "fich2.txt"
Ligne 53 :
=== Exemple ===
FOR /L %%i IN (1,2,10) DO @ECHO Message %%i
Ici, la variable %%i commence à 1, augmentera de 2 à chaque boucle. La boucle se terminera lorsque %%i vaudra plus de 10 (c'est-à-dire que %%i = 9 sera la dernière boucle). Cet exemple est donc équivalent à
@ECHO Message 1
@ECHO Message 3
Ligne 83 :
== Boucle récursive sur des fichiers ou des répertoires ==
Le principe est le même que les boucles sur des répertoires ou fichiers, mais les recherches se poursuivent dans les sous-répertoires
=== Utilisation ===
L'ajout du commutateur /R permet de faire cette boucle récursive sur les sous-répertoires.
Ligne 149 :
Un commande FOR lisant ce fichier pourrait être:
FOR /F "eol=; tokens=2,3* delims=, " %%a IN (monfich.txt) DO @ECHO %%a %%b %%c
Dans cet exemple, le fichier ''monFich.txt'' va être lu ligne par ligne, aucune ligne de début n'est
L'exécution de cette commande est donc équivalente à :
@ECHO zarzera2 xvwcvw3 vcnvbn4, rtyutr5, fdgh6
@ECHO zaerera2 zrezw3 veeenvbn4
Ligne 193 :
=== Exemple ===
L'exemple suivant permet de rechercher tous les fichiers .txt contenant la chaîne de caractères <tt>toto</tt>. La commande <tt>FIND /C "toto" *.txt</tt> est utilisée pour faire la recherche. Cette commande retourne:
--------- ''nom du fichier lu'': ''nombre
Même si la chaîne de caractères n'est pas trouvée, FIND retourne une ligne avec 0 pour le nombre
@ECHO OFF
Ligne 203 :
)
)
Le nombre
|