Учитывая, что у вас есть только 2 результата, которые вы хотите goto
, я бы сказал, что вам не нужен оператор else, поскольку goto
будет происходить только при совпадении с оператором if
, иначе он просто провалится вОшибка.Однако нам нужно проверить каждую сторону оператора на равенство.В данный момент вы тестируете Test == "Test"
.Обратите внимание, что один указан в кавычках, а другой нет, и вы хотите получить точное совпадение, поэтому вам нужно заключить в кавычки вашу переменную."%id%"=="Test"
:
@echo off
title Nexus Generator
color 0a
goto :signin
:signin
echo =====================================
echo Welcome to NEXUS GENERATOR!
echo Please enter your KEY!
echo =====================================
set /p id="Enter Key: "
if /i "%id%" == "Test" goto :signedin
echo Oops, you entered "%id%" instead of "Test"
goto :eof
:signedin
cls
echo You're now signed in!!
pause >nul
Тем не менее, я предпочитаю не использовать операторы goto
, если в этом нет полной необходимости, поэтому мы можем просто запускать блоки кода после операторов if
и else
:
@echo off
title Nexus Generator
color 0a
goto :signin
:signin
echo =====================================
echo Welcome to NEXUS GENERATOR!
echo Please enter your KEY!
echo =====================================
set /p id="Enter Key: "
if /i "%id%" == "Test" (
cls
echo You're now signed in!!
) else (
cls
echo Oops, you entered "%id%" instead of "Test"
)
pause >nul