我试图用批处理创建一个简单的菜单系统,但我不知道它是'goto'还是我搞砸了的输入部分。将不胜感激!
@echo off
cls
echo ==============MENU==============
echo 1.
echo 2.
echo 3.
echo choose.
set/p "menuInput"
if %menuInput%==1 (goto :1)
if %menuInput%==2 (goto :2)
if %menuInput%==3 (goto :3)
else echo error
:1 echo 1
:2 echo 2
:3 echo 3
答案 0 :(得分:0)
set /p
的语法不正确。使用set /?
阅读帮助。
(goto :1)
周围的括号不会给你买任何东西。
else
在语法上都是不正确的(必须与if
位于同一逻辑行上)并且无用(因为如果if
成功控制将被传递到:3
)。
您错过了一堆exit /b
或goto :eof
,以防止控制权落入选项。
答案 1 :(得分:0)
好吧,我现在更新了您的代码,此工作正常
在这里编码
@echo off
:menu
cls
title menu
echo ==============MENU==============
echo 1.
echo 2.
echo 3.
set /p menuInput=? 1-3
if %menuInput% EQU 1 goto 1
if %menuInput% EQU 2 goto 2
if %menuInput% EQU 3 goto 3
goto error
:1
echo1
pause
:2
echo2
pause
:3
echo3
pause
:error
echo error press 1-3
pause>nul
goto menu