IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

affecter variable dans boucle FOR batch


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut affecter variable dans boucle FOR batch
    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, je vois passer "blablabla")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for /F %%D in (c:\Mon_fichier) do (
    	for /F "tokens=4 delims=\" %%E in ("%%D") do (
    		echo %%E
    		pause
    	)
    )
    Ceci ne marche pas : (je vois passe set mavar="blablabla", mais echo ne renvoit rien)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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
    Configuration: Windows

  2. #2
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Il faut utiliser l'expansion retardée de variables d'environnement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    setlocal enableDelayedExpansion 
    for /F %%D in (c:\Mon_fichier) do (
    	for /F "tokens=4 delims=\" %%E in ("%%D") do (
    		set mavar=%%E
    		echo !mavar!
    		pause
    	)
    )
    endlocal
    Ajouter setlocal enableDelayedExpansion, est remplacer les % par ! quand on utilise une variable créer dans cette même boucle for

Discussions similaires

  1. [Batch] problème d'affectation de variable dans boucle imbriquée
    Par fred_04510 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 04/02/2012, 08h30
  2. Optimisation boucles - mise en cache variable dans un for?
    Par erox44 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/05/2010, 14h09
  3. Probleme affectation onRollOver/onRollOut dans boucle for
    Par Kahlyv dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 18/01/2010, 16h16
  4. [SHELL] Variable dans boucle for
    Par magicwill dans le forum Linux
    Réponses: 6
    Dernier message: 11/08/2007, 11h31
  5. Affectation à la variable de boucle FOR 'i'
    Par nek_kro_kvlt dans le forum Delphi
    Réponses: 3
    Dernier message: 11/10/2006, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo