Affectation de variable dans boucle FOR batch
EFFERALGAN
-
cycy99 -
cycy99 -
Bonjour,
Petit problème dans l'affectation de variable dans une boucle FOR dans un batch DOS
Ceci marche : (affichage du 4e token est ok)
Ceci ne marche pas : (%mavar% semble vide)
Quelqu'un a une idée?
d'avance merci
Damien
Petit problème dans l'affectation de variable dans une boucle FOR dans un batch DOS
Ceci marche : (affichage du 4e token est ok)
for /F %%D in (c:\Mon_fichier) do ( for /F "tokens=4 delims=\" %%E in ("%%D") do ( echo %%E pause ) )
Ceci ne marche pas : (%mavar% semble vide)
for /F %%D in (c:\Mon_fichier) do ( for /F "tokens=4 delims=\" %%E in ("%%D") do ( set mavar=%%E echo %mavar% pause ) )
Quelqu'un a une idée?
d'avance merci
Damien
A voir également:
- Batch boucle for /f
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Fichier batch - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
6 réponses
Trouvé : il s'agit d'un probleme d'affectation dynamique avec la commande set
ouvrir une invite de commande, puis :
puis dans mon_batch.bat, au lieu d'utiliser %mavar% utiliser !mavar! :
et ça marche.
merci
ouvrir une invite de commande, puis :
cmd /V:ON c:\mon_batch.bat
puis dans mon_batch.bat, au lieu d'utiliser %mavar% utiliser !mavar! :
for /F %%D in (c:\Mon_fichier) do ( for /F "tokens=4 delims=\" %%E in ("%%D") do ( set mavar=%%E echo !mavar! pause ) )
et ça marche.
merci
cycy99
merci aidé en 2017 !!!
Certes le sujet date de 2007, mais il me sert encore aujourd'hui !
Je rajoute donc cette information : au lieu de taper la commande cmd /V:ON avant de lancer le batch, il est aussi possible de mettre la commande
setlocal ENABLEDELAYEDEXPANSION
en début de batch et
endlocal
en fin de batch
Je rajoute donc cette information : au lieu de taper la commande cmd /V:ON avant de lancer le batch, il est aussi possible de mettre la commande
setlocal ENABLEDELAYEDEXPANSION
en début de batch et
endlocal
en fin de batch
%%E appelle le token selectionné
lors de l'execution de set mavar=%%E, je vois bien passer mon token extrait correctement.
set mavar=blablabla
Le probleme est que la commande echo %mavar% ne renvoit rien du tout
lors de l'execution de set mavar=%%E, je vois bien passer mon token extrait correctement.
set mavar=blablabla
Le probleme est que la commande echo %mavar% ne renvoit rien du tout
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question