我如何捕获' n'在Windows批处理文件的命令行中输入?

时间:2014-09-25 11:13:08

标签: windows batch-file

如何在Windows批处理文件中检索多个用户输入?

@echo off
echo Type tomcat, mvn
set /p input=Enter Selection: 
if /i "%input1%" EQU "tomcat" goto tomcat
if /i "%input%" EQU "mvn" goto maven

 :tomcat
 cd /D C:\Tools\apache-tomcat-7.0.55>start. 
 start .
 GOTO EOF

 :maven
 cd /D C:\Tools\apache-maven-3.2.2
 start .
 GOTO EOF

 :EOF

我为自己创建了一个小实用程序bat文件,所以当我输入tomcat时,如果输入mvn,它会打开tomcat或maven。但是,我想输入类似tomcat deploy的东西,它将在tomcat目录中运行deploy.bat文件。

1 个答案:

答案 0 :(得分:1)

您可以使用CALLSHIFTIFGOTO来解析或迭代用户输入。阅读这些命令的HELP页,然后尝试使用此代码,这应该可以帮助您入门。

首先获取用户输入,并将其作为CALL

的参数传递
set /p input=Enter selection: 
call :doall %input%
goto :eof

然后将参数视为参数%1%2%3 ...,SHIFT将它们转换为%1并使用GOTO循环直到完成({{1} }%1为空)

IF

您可以专门处理每个参数

:doall
echo %1
shift
if .%1==. goto :eof
goto :doall