VIVEZ LE
FOOTBALL !

Posez votre question Signaler

BATCH : condition IF !VAR! dans une FOR loop [Résolu]

FORIFBATCH - Dernière réponse le 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.
Lire la suite 

BATCH : condition IF !VAR! dans une FOR loop »

1 réponses
Réponse
+1
moins plus
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.
Ajouter un commentaire
Ce document intitulé « BATCH : condition IF !VAR! dans une FOR loop » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?