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 dans un script sur un if


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Par défaut Problème dans un script sur un if
    Bonjour à tous,

    J'ai un problème dans le script ci-dessous sur le if de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF /I "%AREYOUSURE%" NEQ "Y" GOTO menu
    J'ai cru comprendre que la syntaxe voulait dire si ce n'est pas égal à Y ou y (/I) je retourne au menu sinon j'exécute ce qu'il y a en dessous mais ça ne fonctionne pas.

    Si quelqu'un a une idée, je le remercie par avance de m'aider

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    @echo off
    
    :MENU
    color 0F
    set chiffre==remiseablanc
    set AREYOUSURE=no
    rem cls
    echo ******************************************************
    echo *                                                    *
    echo * MENU :                                *  
    echo *                                                    *
    echo ******************************************************
    echo 1) Execution dev
    echo 2) execution prod
    echo f) fin
    
    
    set /P chiffre=
    if %chiffre%==1 (
    echo execution en dev
    pause
    goto menu
    )
    
    
    if %chiffre%==2 (
    
    echo ******************************************************
    echo *                                                    *
    echo * ATTENTION: EXECUTION EN PROD                       *  
    echo *                                                    *
    echo ******************************************************
    color 0C
    SET /P AREYOUSURE=Are you sure Y/[N]?
    IF /I "%AREYOUSURE%" NEQ "Y" GOTO menu
    color 0F
    echo putain on l'a fait
    pause
    goto menu
    )
    
    if %chiffre%==f (
    echo Bye Bye
    goto end
    )
    goto menu
    :end

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 11
    Par défaut
    Salut, j'ai modifier ton script, deja en ajoutant pas mal de Cls qui rendent plus propre l'utilisation, regarde au niveau du If comment j'ai fait, je ne dis pas que c'est LA solution mais ca marche :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    @echo off
    
    :MENU
    cls
    color 0F
    set chiffre==remiseablanc
    set AREYOUSURE=no
    rem cls
    echo ******************************************************
    echo *                                                    *
    echo * MENU :                                *  
    echo *                                                    *
    echo ******************************************************
    echo 1) Execution dev
    echo 2) execution prod
    echo f) fin
    
    
    set /P chiffre=
    if %chiffre%==1 (
    echo execution en dev
    pause
    goto menu
    )
    
    
    if %chiffre%==2 (
    cls
    echo ******************************************************
    echo *                                                    *
    echo * ATTENTION: EXECUTION EN PROD                       *  
    echo *                                                    *
    echo ******************************************************
    color 0C
    SET /P AREYOUSURE=Are you sure Y/[N]?
    if %AREYOUSURE%==y goto menu
    if %AREYOUSURE%==Y goto menu
    color 0F
    echo putain on l'a fait
    pause
    goto menu
    )
    
    if %chiffre%==f (
    cls
    echo Bye Bye
    goto end
    )
    goto menu
    :end
    Je te met un exemple simple au cas ou :

    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
    @echo off
    :debut
    cls
    set /p sur=Est tu sur Y / N :
    if %sur%==y goto sur
    if %sur%==Y goto sur
    cls
    echo oula tu n'est pas sur
    goto end
    :sur
    cls
    echo ok tu es sur
    goto end
    :end
    pause
    exit
    Pour ce qui est de NEQ ca compare si la chaine est identiqueoui c'est sur .. mais sur un nombre (ici on attend une lettre Y), pour les lettres on choisi EQU, ce qui donne dans ton cas :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    @echo off
    
    :MENU
    cls
    color 0F
    set chiffre==remiseablanc
    set AREYOUSURE=no
    rem cls
    echo ******************************************************
    echo *                                                    *
    echo * MENU :                                *  
    echo *                                                    *
    echo ******************************************************
    echo 1) Execution dev
    echo 2) execution prod
    echo f) fin
    
    
    set /P chiffre=
    if %chiffre%==1 (
    echo execution en dev
    pause
    goto menu
    )
    
    
    if %chiffre%==2 (
    cls
    echo ******************************************************
    echo *                                                    *
    echo * ATTENTION: EXECUTION EN PROD                       *  
    echo *                                                    *
    echo ******************************************************
    color 0C
    SET /P AREYOUSURE=Are you sure Y/[N]?
    IF %AREYOUSURE% equ Y GOTO menu
    color 0F
    echo putain on l'a fait
    pause
    goto menu
    )
    
    if %chiffre%==f (
    cls
    echo Bye Bye
    goto end
    )
    goto menu
    :end
    J'espère avoir bien compris Xd

  3. #3
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    au sujet des "NEQ/EQU/==" :

    il vaut mieux utiliser EQU/NEQ avec les comparaisons numériques et "==" avec les chaînes de caractères

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    @echo off
     
    set nb1=000000005
    set nb2=5
    
    if %nb1%==%nb2% echo  %nb1%==%nb2%
    if %nb1% equ %nb2% echo %nb1% equ %nb2%
    if not %nb1% neq %nb2% echo not %nb1% neq %nb2%
    
    echo.
    
    set nb3=0xa
    set nb4=10
    
    
    if %nb3%==%nb4% echo %nb3%==%nb4%
    if %nb3% equ %nb4% echo %nb3% equ %nb4%
    if not %nb3% neq %nb4% echo not %nb3% neq %nb4%
    
    echo.
    
    set nb5=012
    set nb6=10
    
    if %nb5%==%nb6% echo %nb5%==%nb6%
    if %nb5% equ %nb6% echo %nb5% equ %nb6%
    if not %nb5% neq %nb6% echo not %nb5% neq %nb6%
    
    pause

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonjour tiens mon message a disparu avec le plantage d hier

    if %AREYOUSURE%==y goto menu
    if %AREYOUSURE%==Y goto menu
    en une ligne en ajoutant /i

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if /i %AREYOUSURE%==y goto menu

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Par défaut
    Merci pour vos aides

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

Discussions similaires

  1. [POO] Problème dans un exercice sur l'héritage
    Par FabaCoeur dans le forum C++
    Réponses: 2
    Dernier message: 05/05/2007, 17h09
  2. [PHP-JS] problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 08h57
  3. problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 16h40
  4. problème dans l'affichage sur word (VB6)
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 12h40
  5. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37

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