Batch / Script : Set ne fonctionne pas dans un FOR : Grrr

Batch / Script : Set ne fonctionne pas dans un FOR : Grrr - Win NT/2K/XP - Windows & Software

Marsh Posté le 08-02-2007 à 17:59:32    

Bonjour,
 
J'aimerai votre avis sur ce point.
 
Je cherche a incrementer une variable dans un FOR pour générer un fichier différent a chaque passage dans la boucle.
 
Petit exemple :  
 
set y=0
For /F %%x IN (list.txt) do (
echo Y = %y%
set /A y += %Y%
echo %y%
c:\program files\ethereal\mergecap.exe" -w %y%.cap %%x)
 
 
En l'occurence, j'essaye de merger des fichiers de capture Ethereal par groupe de 180 en un seul.
 
Au premier passage je crée un 0.cap puis 1.cap etc ...
 
Sauf que cela ne fonctionne pas, Y reste définitivement @ 0.
 
Evidement si je mets mon incrementation hors du FOR, cela fonctionne sans soucis.
 
J'ai essayé avec :
set /A y=%y%+1
ou  
set /A y += 1
 
Si vous pouviez m'expliquer, cela me sortirai une GROSSE épine du pied :p
 
D'avance Merci,
 
Bruno.
 
 
 
 


---------------
IdPSN : Cyboulette // Battletag : Cyboulette#2250
Reply

Marsh Posté le 08-02-2007 à 17:59:32   

Reply

Marsh Posté le 08-02-2007 à 18:56:31    

Bon j'ai réussi a avancer
 
Il faut activer setlocal enabledelayedexpansion pour que la variable soit mise a jour dans un IF ou FOR.
 
Ensuite la variable mise a jour est accessible via  !var! et non %var%
 
Cela servira peut etre a quelqu'un un jour :p


---------------
IdPSN : Cyboulette // Battletag : Cyboulette#2250
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed