Bash, ordinateur pour le fun : Bug

jetair Messages postés 28 Statut Membre -  
jetair Messages postés 28 Statut Membre -
Bonjour,
J'ai besion d'aide pour quelques lignes de mon programme "d'ordinateur" en BATCH. Voici les lignes:

cls
set /p loguser=User:
if not "%loguser%"=="Admin" goto wronguser
if not "%loguser%"=="User" goto wronguser
if not "%loguser%"=="Guest" goto wronguser
set /p logpass=Password:
if "%loguser%"=="Admin" if "%logpass%"=="1793" goto namechoice
if "%loguser%"=="User" if "%logpass%"=="2486" goto namechoice
if "%loguser%"=="Guest" goto namechoice
if not "%logpass%"=="1793" goto wrongpass
if not "%logpass%"=="2486" goto wrongpass

et je ne comprend pas pourquoi a chaque fois que je met "Admin", "User" ou "Guest", il m'envoie vers l'étiquette "wronguser"

Merci d'avance

1 réponse

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    C'est pourtant assez simple en fait :

    if not "%loguser%"=="Admin" goto wronguser

    "%loguser%" => Signifie que %loguser% est une chaîne de caractère et pas une variable, étant donné qu'il a été placé entre guillemets.

    Donc :

    if not %loguser%=="Admin" goto wronguser

    Devrait mieux fonctionner.
    0
    1. jetair Messages postés 28 Statut Membre 2
       
      Toujours pas :s
      0
    2. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
       
      Qu'est ce qui ne marche pas ?
      0
    3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
       
      Effectivement :

      if not %loguser%==Admin goto wronguser

      C'est mieux comme cela
      0
    4. jetair Messages postés 28 Statut Membre 2
       
      Toujours pas :x Voici mon skype: Florent.Ram
      0
    5. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
       
      Ah si si ça fonctionne je viens de le tester :-)

      @echo OFF
      cls

      :menu
      set /p loguser=User:
      if not %loguser%==Admin echo Loguser = %loguser%
      if %loguser%==Admin echo Loguser = %loguser% - Le user Admin a été utilisé

      goto menu


      PAUSE
      0