在 if/else 批处理语句中需要帮助

Need help in if/else batch statements

我是批处理程序员的初学者,我需要 if/else 语法方面的帮助。 我需要有人更正代码并告诉我我做错了什么。

@ECHO OFF
echo Here are some supplies if you want to go to where ever you were going. Which class will you pick? Warrior, Mage or Scout?
set "class="
set /p class=
if not defined class goto classGet
if "%class%"=="Warrior"(
echo Here are your %class% items.
pause
) if "%class%"=="Mage" (
echo Here are your %class% items.
pause
) if "%class%"=="Scout" (
echo Here are your %class% items.
pause
)
 if "%class%"=="Warrior"(

space 在 ( 之前是必需的。

) if "%class%"=="Mage" (

这将被解释为前一个 if 的延续,并且批处理将在此处期望 else

编码为

) 
if "%class%"=="Mage" (

换行很重要。

@ECHO OFF
:classGet
echo Here are some supplies if you want to go to where ever you were going.
echo Which class will you pick?
set "class="
set /p "class= Warrior, Mage or Scout? "
if not defined class goto :classGet

if /i "%class%"=="Warrior" (
echo Here are your %class% items.
goto :classChoosen
pause
)
if /i "%class%"=="Mage" (
echo Here are your %class% items.
goto :classChoosen
pause
)
if /i "%class%"=="Scout" (
echo Here are your %class% items.
goto :classChoosen
pause
)

goto :classGet
:classChoosen
echo go on...