Você tem 2 problemas no seu arquivo de lote.
O primeiro é que você aninhou IFs. Arquivos em lote não suportam instruções IF aninhadas. Você terá que escrever uma comparação If e, com base em seu resultado, pular em seu código usando goto. Dessa forma, você pode ter seu IF aninhado.
Em segundo lugar, avistei um provável erro de digitação que faz com que o primeiro não funcione mesmo que o if aninhado não estivesse presente. Há um + nele que vai ver se existe um caminho com um +. Caso contrário, executará o else.
Mas, dado que um if aninhado é um erro grave (o lote não o reconhece), em vez de ser executado, ele pára antes de o script ser executado.
Você quer que seu código seja parecido com isto:
set /p ActiveMQpath=
ECHO.
if exist "%ActiveMQpath%\InstallService.bat" goto InstallerExists
goto InstallerNotFound
:InstallerExists
ECHO Installer found, starting with ActiveMQ installation. Please wait...
cd %ActiveMQpath%
CALL InstallService.bat
ECHO ActiveMQ Service has been installed
ECHO Attempting to start service... Please wait
ECHO.
timeout /t 5 /nobreak >nul
ECHO.
Set ServiceName=ActiveMQ
goto StartService
if "%IsServiceRunning%"=="TRUE" (
start iexplore http://localhost:8161/
) else (
ECHO Service not running...
PAUSE
)
goto end
:InstallerNotFound
ECHO File not found, please try again
goto ACTIVEMQ_WRONGPATH)
:StartService
::your code here, missing from snippet...
goto end
:ACTIVEMQ_WRONGPATH
::your code here, missing from snippet...
goto end
:end