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 :

[Batch] problème d'affectation de variable dans boucle imbriquée


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 112
    Points
    112
    Par défaut [Batch] problème d'affectation de variable dans boucle imbriquée
    Bonjour,
    J'ai un problème d'affectation de variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    setlocal enableDelayedExpansion 
    set var1=0
    set var2=0
    for (
      for (
        si condition (
          set /a var2=!var2!+1
          echo var2_1 : !var2!
        )
      )
      si condition (
        set /a var1=!var1!+1
        echo var1_1 : !var1!
      )
    )
    
    echo var1_2 : %var1%
    echo var2_2 : %var2%
    Le echo var1_1 est bon
    Le echo var2_1 est bon
    Le echo var1_2 est bon
    Le echo var2_2 n'affiche rien

    Avez vous une explication et une correction à proposer ?

    En vous remerciant,

    Frédéric

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    sans emploi
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Points : 28
    Points
    28
    Par défaut
    Salut


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    setlocal enableDelayedExpansion 
    set var1=0
    set var2=0
    for (
      for (
        si condition (
          set /a var2=!var2!+1
          echo var2_1 : !var2!
        )
     )<---------------------je pense que c'est sa donc retire la et test apres sa devrait le faire
       si condition (
         set /a var1=!var1!+1
         echo var1_1 : !var1!
      )
    )
    
    echo var1_2 : %var1%
    echo var2_2 : %var2%

  3. #3
    Membre régulier Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Slt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    setlocal enableDelayedExpansion 
    set var1=0
    set var2=0
    for (
        si condition (
          set /a var2=!var2!+1
          echo var2_1 : !var2!
      )
    )
    for (
       si condition (
        set /a var1=!var1!+1
        echo var1_1 : !var1!
      )
    )
    
    echo var1_2 : %var1%
    echo var2_2 : %var2%
    Ça me semble plus juste comme ça.
    En revanche je ne pense pas que tu puisse supprimer ) comme conseillé par Castou60, sinon tu va forcément te retrouver avec une erreur, puisque tu va en ouvrir 4 et en fermer 3.
    A moins de faire comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    setlocal enableDelayedExpansion 
    set var1=0
    set var2=0
    for (
      for (
           si condition (
             set /a var2=!var2!+1
             echo var2_1 : !var2!
             )
           si condition (
             set /a var1=!var1!+1
             echo var1_1 : !var1!
             )
          )
       )
    
    echo var1_2 : %var1%
    echo var2_2 : %var2%

Discussions similaires

  1. Problème d'affectation de variable dans une boucle
    Par gabbf29 dans le forum Général Java
    Réponses: 28
    Dernier message: 03/10/2013, 13h11
  2. [Template] Comment affecter une variable dans un include dans une boucle
    Par Daxou31 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/10/2008, 15h03
  3. Problème avec variable dans boucle DO WHILE
    Par bandit_debutant dans le forum Langage
    Réponses: 13
    Dernier message: 25/02/2008, 16h34
  4. [ANT] affectation de variables dans une boucle
    Par dino_xrc dans le forum ANT
    Réponses: 6
    Dernier message: 17/12/2007, 19h47
  5. affecter variable dans boucle FOR batch
    Par efferalgan dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 25/10/2007, 14h25

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