Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
informatique:windows:for [2008/01/17 14:55] benoit |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== for ====== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ==== Affichage d'un champs ==== | ||
- | |||
- | Pour afficher field1 field2 field3: | ||
- | for /F "tokens=1,2,3" %a IN ('echo field1 field2 field3') DO @echo %a %b %c | ||
- | |||
- | Pour afficher field1 field2: | ||
- | for /F "tokens=1,2" %a IN ('echo field1 field2 field3') DO @echo %a %b | ||
- | |||
- | |||
- | ==== Compter le nombre de lignes dans un fichier ==== | ||
- | Compter le nombre de ligne dans un fichier (**^** est un caractère d'échappement à mettre devant **|**) | ||
- | for /f %a in ('type myfile.txt^| find "" /v /c') do set /a cnt=%a | ||
- | |||
- | ==== Stocker le résultat d'une commande dans une variable ==== | ||
- | |||
- | Ici on récupère le résultat de la commande ''hostname'' dans la variable ''SERVERNAME'' | ||
- | for /f "tokens=*" %%a in ('hostname') do set SERVERNAME=%%a | ||
- | |||
- | ==== Spliter un fichier CSV ==== | ||
- | |||
- | Nous avons le fichier CSV ''myfile.csv'' suivant : | ||
- | Toto;20;paris | ||
- | Titi;45;Lyon | ||
- | Tata;37;Nice | ||
- | |||
- | Résultat à atteindre : | ||
- | NOM : Toto | ||
- | AGE : 20 | ||
- | VILLE : paris | ||
- | --- | ||
- | NOM : Titi | ||
- | AGE : 45 | ||
- | VILLE : Lyon | ||
- | --- | ||
- | NOM : Tata | ||
- | AGE : 37 | ||
- | VILLE : Nice | ||
- | --- | ||
- | |||
- | Pour atteindre ce résultat il faut le script suivant : | ||
- | |||
- | @echo off | ||
- | setlocal ENABLEDELAYEDEXPANSION | ||
- | for /f "tokens=*" %%i in ('type myfile.csv') do ( | ||
- | for /f "tokens=1 delims=;" %%m in ("%%i") do set NOM=%%m | ||
- | for /f "tokens=2 delims=;" %%m in ("%%i") do set AGE=%%m | ||
- | for /f "tokens=3 delims=;" %%m in ("%%i") do set VILLE=%%m | ||
- | echo NOM : !NOM! | ||
- | echo AGE : !AGE! | ||
- | echo VILLE : !VILLE! | ||
- | echo --- | ||
- | ) | ||
- | pause |