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

时间:2015-01-24 09:46:21

标签: batch-file

我是一个初学者批处理程序员,我需要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
)

2 个答案:

答案 0 :(得分:0)

 if "%class%"=="Warrior"(

需要(之前的空格。

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

这将被解释为前一个if的延续,批次在此处需要else

代码为

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

换行很重要。

答案 1 :(得分:0)

@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...
相关问题