这是我试图以批处理文件的形式制作的测验游戏的基础。我很新,所以我做错事并非不太可能。我想要的是它去了适当的区域,在这个演示中回到开始,但是在最终版本中转到下一个问题。目前发生的是它只是进入第一个子程序而不是指定的子程序。 先谢谢你了
@ECHO OFF
:start
echo Will you say yes or no?
set /p dummy=Say yes or no...
if "%INPUT%"=="yes" goto yes
if "%input%"=="no" goto no
if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol
:yes
echo this worked
pause
echo Time for a repeat
pause
goto start
:no
echo this still worked
pause
echo Time for a repeat
pause
goto start
:lol
echo You did not put in yes or no. Try again
goto start
答案 0 :(得分:0)
input
是您之后使用的变量名称,因此请尝试
set /p input=Say yes or no...
而不是dummy
然后:
if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol
因为你已经抓住了“是”'之前,not "%input%"=="yes"
在这里总是如此。永远无法达到下一行。目前,您可以使用goto lol
简单地替换这两行,如果它应该处理其他所有'。
答案 1 :(得分:0)
试试这个
@ECHO OFF
:start
echo Will you say yes or no?
set /p input=Say yes or no...
if "%input%"=="yes" goto yes
if "%input%"=="no" goto no
if not "%input%"=="yes" goto lol
if not "%input%"=="no" goto lol
:yes
echo this worked
pause
echo Time for a repeat
pause
goto start
:no
echo this still worked
pause
echo Time for a repeat
pause
goto start
:lol
echo You did not put in yes or no. Try again
goto start
希望这有效