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 :

Problème déclaration variable dans "if"


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Problème déclaration variable dans "if"
    Bonjour,
    Lorsque je déclare des variable dans le conditionnel "if", mes ligne de déclaration sont complètement ignorées, alors qu'en dehors du conditionnel, celà fonctionne correctement.

    Voici mon exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    :Q_MOIS
    echo Saisir le mois :
    set /P MOIS=
    set CSTART="test"
    if "%MOIS%"=="1" (
                             set CSTART="toto"
                             echo %CSTART%
                             pause
                             )
    goto Q_MOIS
    Ici, l'echo m'affiche "test" au lieu de "toto" (et je suis bien dans mon if )
    Est-il prossible de déclarer des variables dans le conditionnel "if", si oui comment ?

  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
    Essaye 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
     :Q_MOIS
    echo Saisir le mois :
    set /P MOIS=
    set CSTART="test"
    setlocal enabledelayedexpansion
    if "%MOIS%"=="1" (
    set CSTART="toto"
    echo %CSTART%
    pause
    )
    endlocal
    
    goto Q_MOIS

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Génial.

    Merci pour l'info, elle m'a bien mise sur la voie.
    Par contre, il faut mettre des "!" à la place des "%"
    Le code devient donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    :Q_MOIS
    echo Saisir le mois :
    set /P MOIS=
    set CSTART="test"
    setlocal enabledelayedexpansion
    if "%MOIS%"=="1" (
    set CSTART="toto"
    echo !CSTART!
    pause
    )
    endlocal
    goto Q_MOIS
    Un grand merci pour ce dépannage

  4. #4
    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
    De rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/03/2006, 19h30
  2. problème de variable dans formulaire
    Par chienlou dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 06h53
  3. [VB.NET] [Débutant] Probléme de variable dans les requettes
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 13h13

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