Outils pour utilisateurs

Outils du site


informatique:windows:for

Ceci est une ancienne révision du document !


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
informatique/windows/for.1200578114.txt.gz · Dernière modification: 2018/09/06 18:59 (modification externe)