我有一个批处理文件,在启动时加载,向用户显示他们可以通过键入相应的“菜单编号”来选择加载的应用程序“菜单”。 我们如何减少用户输入,简化选择,自动将任何按下的键传递到命令提示符,而不需要在键入选择后按Enter键?也就是说,如果用户输入 1 ,则读取该值,就好像用户已输入 1 + 输入此处的常量仅为菜单来自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
答案 0 :(得分:1)
您可以使用Choice。 所以你的脚本看起来类似于:
:menu
echo [Menu]
echo.
echo [1] - PuTTy
echo [2] - Chrome (Google)
echo.
echo [0] - Exit
choice /c 120 /n /m (:
IF errorlevel 3 goto choice0
IF errorlevel 2 goto choice2
IF errorlevel 1 goto choice1
:choice1
start "" "%ProgramFiles(x86)%\PuTTy\putty.exe"
goto menu
:choice2
start "" "%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" www.google.com
goto menu
:choice0