编辑:更新了传递的参数。
@echo off
SET CMB_HOME=C:\Development\CMB
pushd %CMB_HOME%\projectA\
start "Port 8081" cmd /c "mvn tomcat:run -Dmaven.tomcat.port=8081"
popd
pushd %CMB_HOME%\projectB\
start "Port 8082" cmd /c "mvn tomcat:run -Dmaven.tomcat.port=8082"
popd
因为我不知道mvn如何期望其参数,所以您可能会在start命令中使用引号
start "Port 8081" cmd/c ^""mvn "tomcat:run -Dmaven.tomcat.port=8081" ^"
...
start "Port 8082" cmd/c ^""mvn "tomcat:run -Dmaven.tomcat.port=8082" ^"
或尝试解决方法…
@echo off
if "%~1" neq "" goto run
start "Port 8081" cmd /c ^""%~f0" projectA 8081 ^"
start "Port 8082" cmd /c ^""%~f0" projectB 8082 ^"
goto :eof
:run
set "PORT=%~2"
set "CMB_HOME=C:\Development\CMB\%~1\"
pushd %CMB_HOME%
call mvn tomcat:run -Dmaven.tomcat.port=%PORT%
popd
goto :eof