2014-09-25 167 views
0

如何在Windows批处理文件中检索多个用户输入?如何在Windows批处理文件的命令行中捕获'n'输入?

@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它开辟了Tomcat或如果输入MVN Maven的。不过,我想输入一些像tomcat deploy这样可以在tomcat目录下运行deploy.bat文件的东西。

+1

请问,你能解释这应该如何工作?脚本类型的用户应该怎么做?并且,预期的行为是什么?用户将键入option1或option2或任何选项的组合?在任何情况下该怎么办? – 2014-09-25 11:18:29

+0

所以如果你想检测'tomcat deploy'或'tomcat undeploy'等输入并且得到不同的标签? – npocmaka 2014-09-25 11:41:56

回答

1

您可以使用CALL,SHIFT,IFGOTO解析或迭代用户输入。阅读这些命令的HELP页面,然后尝试此代码,这应该让你开始。的CALL

set /p input=Enter selection: 
call :doall %input% 
goto :eof 

然后

首先获取用户输入,并把它作为参数治疗参数,如果他们的论点%1%2%3 ...,SHIFT他们荷兰国际集团以%1GOTO循环,直到完成(IF%1是空的)

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

可以专门对待每一个参数

:doall 
if /i .%1==.this call :dothis %* 
if /i .%1==.that call :dothat %* 
goto :eof 

:dothis 
start this %2 %3 %4 
goto :eof 
相关问题