Les Allergies
Alimentaires
Posez votre question Signaler

Affectation de variable dans boucle FOR batch

EFFERALGAN - Dernière réponse le 27 oct. 2007 à 14:44
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)
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
Lire la suite 

Affectation de variable dans boucle FOR batch »

4 réponses
Réponse
+3
moins plus
Trouvé : il s'agit d'un probleme d'affectation dynamique avec la commande set

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
Ajouter un commentaire
Réponse
+0
moins plus
et avec set mavar=%E%
Ajouter un commentaire
Réponse
+0
moins plus
%%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
Ajouter un commentaire
Réponse
+0
moins plus
et avec set mavar=%%E%
Ajouter un commentaire
Ce document intitulé « affectation de variable dans boucle FOR batch » 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 ?