Bash, ordinateur pour le fun : Bug

[Fermé]
Signaler
Messages postés
24
Date d'inscription
lundi 7 mars 2011
Statut
Membre
Dernière intervention
2 juillet 2013
-
Messages postés
24
Date d'inscription
lundi 7 mars 2011
Statut
Membre
Dernière intervention
2 juillet 2013
-
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

Messages postés
9367
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 342
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.
Messages postés
9367
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 342
Qu'est ce qui ne marche pas ?
Messages postés
9367
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 342
Effectivement :

if not %loguser%==Admin goto wronguser

C'est mieux comme cela
Messages postés
24
Date d'inscription
lundi 7 mars 2011
Statut
Membre
Dernière intervention
2 juillet 2013
2
Toujours pas :x Voici mon skype: Florent.Ram
Messages postés
9367
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 342
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
Messages postés
24
Date d'inscription
lundi 7 mars 2011
Statut
Membre
Dernière intervention
2 juillet 2013
2
Chez moi aussi, ça fonctionne avec UN user, quand j'en ai rajouté d'autres, ça a planté... Et en plus, il y a un password a mettre