【发布时间】:2014-01-18 14:01:46
【问题描述】:
我有一个在启动时加载的批处理文件,它为用户提供了一个应用程序“菜单”,他们可以通过键入相应的“菜单编号”来选择加载。 我们如何减少用户输入,简化他们的选择,以自动将按下的任何键传递到命令提示符,而无需在输入选择后按下 Enter 键?也就是说,如果用户输入 1,则读取该值,就好像用户输入了 1 + Enter 此处的常量是仅菜单跨越1-9,因此来自用户的输入将永远只有 1 个字符长(如果这完全相关的话)。
简述菜单的呈现方式和用户输入的处理方式:
:menu
echo [Menu]
echo.
echo [1] - PuTTy
echo [2] - Chrome (Google)
echo.
echo [0] - Exit
SET /P M=(:
IF %M%==1 goto choice1
IF %M%==2 goto choice2
IF %M%==0 goto choice0
:choice1
start "" "%ProgramFiles(x86)%\PuTTy\putty.exe"
goto menu
:choice2
start "" "%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" www.google.com
goto menu
:choice0
exit
【问题讨论】: