2017-07-29 67 views
0

我完成了我的计划,我已经有了一个基本的菜单:如何批量自动输入单字母/数字

echo [1] - New Log Entry 
echo [2] - Read Log Entry 
echo [3] - Clear Log 
echo [4] - Exit 
set /p menu=Number: 
if %menu%==1 goto NewLog 
if %menu%==2 goto Readlog 
:::and so on 

但我希望它是这样,当你在一个输入的数字,它会自动输入他们放入的数字。

我想我以前见过它,但我不太确定。

+0

见'选择/?'或阅读https://ss64.com/nt/choice.html – LotPings

+0

你的意思是“它会自动进入n他们把他们放在“? – Compo

+0

@Compo,让您在按下按键后不必按Enter键 – awillers55

回答

0

命令CHOICE可用于选择其中一个预定义选项。

@echo off 
:Menu 
cls 
echo/ 
echo [1] - New log entry 
echo [2] - Read log entry 
echo [3] - Clear log 
echo [4] - Exit 
echo/ 
choice /C 1234 /N /M "Your choice: " 
echo/ 
if errorlevel 4 goto :EOF 
if errorlevel 3 goto ClearLog 
if errorlevel 2 goto ReadLog 

rem User has taken first choice as being the only remaining choice. 

echo Creating new log entry ... 
echo/ 
pause 
goto Menu 

:ReadLog 
echo Reading log entry ... 
echo/ 
pause 
goto Menu 

:ClearLog 
echo Clearing log ... 
echo/ 
pause 
goto Menu 

CHOICE的使用率低于set /P variable=prompt text这样的任务更好的用户必须按所提供的关键之一立即继续执行一旦提供密钥通过批处理文件的用户打。 set /P使用户可以自由输入任何内容,从根本不输入任何内容,直到包含字符的很长的字符串,如果不写入额外的代码以确保批处理文件的工作,可能会导致评估环境变量值时出现语法错误即使对于任何无效的用户输入。

为了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。

  • choice /?
  • cls /?
  • echo /?
  • goto /?
  • if /?
  • pause /?

参见网页: