Page 1 sur 1

Aie sur manipulation de variable

Posté : 18 avr. 2008 12:17
par JB
Bonjour,

Je débute dans l'écriture des batch et j'ai un problème avec la manipulation d'une variable dans une boucle FOR
Mon but, obtenir le 1er caractère de la ligne lu dans le fichier (afin de dtétecter la présence du caractère @)...mais ça ne marche pas
Cela marche pour une variable déclarée en dehors de la boucle, mais pas pour la variable de la boucle FOR; j'ai essayé en réaffectant la variable de la boucle à une autre mais ça ne marche pas non plus!
Merci de votre aide

voici mes essais :

Code : Tout sélectionner

@echo off
set titi=azerty
set ROW=   
echo Debut > CR_batch.log
FOR /F "eol=# tokens=*" %%i in (monFichier.dat) do (
  set ROW=%%i   
  echo 1 ..... %titi:~0,1% >> CR_batch.log
  echo 2 ..... %%i >> CR_batch.log
  echo 3 ..... %i:~0,1% >> CR_batch.log
  echo 4 ..... %%i:~0,1% >> CR_batch.log    
  echo 5 ..... %ROW% >> CR_batch.log
  echo 6..... %ROW:~0,1% >> CR_batch.log
)
 
monFichier.dat

Code : Tout sélectionner

#
#

# Adresse de l'application
@http:\\localhost:8080\

# Liste des scripts
"C:\\AAAA\\BBB\\CCCC"
 
et le résultat me donne dans le fichier log

Code : Tout sélectionner

Debut 
1 ..... a 
2 ..... @http:\\localhost:8080\ 
3 ..... ~0,1 
4 ..... @http:\\localhost:8080\:~0,1     
5 .....     
6 .....   
1 ..... a 
2 ..... "C:\\AAAA\\BBB\\CCCC" 
3 ..... ~0,1 
4 ..... "C:\\AAAA\\BBB\\CCCC":~0,1     
5 .....     
6 .....   
 

Re: Aie sur manipulation de variable

Posté : 01 mai 2008 14:17
par flox
Bonjour,
dans une boucle /for les manipulation de variable doit passer par l'expansion retarder, regarde dans la FAQ tu trouvera un exemple (setlocal enabledelayedexpansion et utiliser les ! à la place des % )



@+