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
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
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