BATCH : condition IF !VAR! dans une FOR loop

Résolu/Fermé
FORIFBATCH - 25 juin 2010 à 09:58
 FORIFBATCH - 25 juin 2010 à 16:58
Bonjour,

Question somme toute toute bête mais ne je trouve pas de réponse.
J'ai une boucle FOR sur les lignes d'un fichier list.txt, sur chacune
de ces lignes (formatée en X:Y) je récupère X et Y, puis je veux faire un
IF sur X. J'utilise donc !X! au lieu de %X%

for /f "tokens=1,2 delims=:" %%i in (list.txt) do (

@set X=%%i
@set Y=%%j

if !X!==untruc
...
else
...

)

Mais il n'aime pas :-(
Merci.

1 réponse

A force de bidouille j'ai trouvé comment faire, si ça peut être utile à qqu'un :

J'ai cassé la boucle FOR à coup de CALL et de GOTO

for /f "tokens=1,2 delims=:" %%i in (list.txt) do ( call :ETIQUETTE "%%i" "%%j"" )
goto :FIN_ETIQUETTE

@set VAR1_TMP=%1
@set VAR1=%VAR1_TMP:~1,-1%
@set VAR2_TMP=%2
@set VAR2=%VAR2_TMP:~1,-1%

if /i %VAR1% EQU untruc (
...
)

goto :eof

:FIN_ETIQUETTE


voilà ! Remarque : je suis passée par une variable intermédiaire VAR1_TMP avant VAR1 pour pouvoir retirer les guillemets " de ma string.
1