我目前正在使用批处理文件在Windows 7中制作游戏。所以我有一个序列,它会问你一个问题并输入答案:
:MainMenu
set /p LMainMenu=
if %LMainMenu%==1 goto PlayMenu
if %LMainMenu%==2 goto ColourMenu
if %LMainMenu%==3 goto Reset1
if %LMainMenu%==4 goto AboutMenu
goto MainMenu
因此,如果有人没有输入任何内容并按下'Enter',CMD窗口将关闭。我该如何防止这种情况发生?我添加了'goto MainMenu',所以如果他们输入1,2,3,4以外的任何东西,他们将被收回。 很多人将不胜感激。感谢。
答案 0 :(得分:2)
试试这个
:MainMenu
set /a LMainMenu=1
set /p "LMainMenu=enter a number: "
有关更多帮助,请参阅命令提示符下的help set
。
答案 1 :(得分:1)
如果您想要默认选择(当用户只按 Enter 时自动选择),请使用建议的解决方案Endoro。如果要循环直到用户进行有效选择,请改为使用:
:MainMenu
set "LMainMenu="
set /p "LMainMenu=Enter a number [1-4]: "
if not defined LMainMenu goto MainMenu
if "%LMainMenu%"=="1" goto PlayMenu
...
答案 2 :(得分:0)
添加此功能应该可行。 如果“%LMainMenu%”==“”转到MainMenu