Bash, ordinateur pour le fun : Bug
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
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
-
ContributeurC'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.