setlocal
rem Guess CATALINA_HOME if not defined//验证系统变量CATALINA_HOME是否有值
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
可以在我的电脑==》属性==》高级系统设置==》环境变量中配置
没有设置的话就会先设置再到gotHome代码块执行
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
设置完CATALINA_HOME以后就到okHome代码块中
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists//检查可执行文件(即catalina.bat批处理文件是否存在)
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
检查catalina.bat命令文件是否存在,并执行okExec代码块
set CMD_LINE_ARGS=
接下来顺序执行setArgs代码块
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
最后执行doneSetArgs代码块
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
总结:startup先进行验证catalina.bat:一个系统参数的验证,一个是当前路径的验证
再对命令参数读取,并赋值传递到catalina.bat
最后调用catalina.bat批处理文件