1@setlocal 2 3@rem Parse arguments. erlsrv.exe prepends erl arguments prior to first ++. 4@rem Other args are position dependent. 5@set args="%*" 6@for /F "delims=++ tokens=1,2,3" %%I in (%args%) do @( 7 @set erl_args=%%I 8 @call :set_trim node_name %%J 9 @rem Trim spaces from the left of %%K (node_root), which may have spaces inside 10 @for /f "tokens=* delims= " %%a in ("%%K") do @set node_root=%%a 11) 12 13@set releases_dir=%node_root%\releases 14 15@rem parse ERTS version and release version from start_erl.dat 16@for /F "usebackq tokens=1,2" %%I in ("%releases_dir%\start_erl.data") do @( 17 @call :set_trim erts_version %%I 18 @call :set_trim release_version %%J 19) 20 21@set erl_exe="%node_root%\erts-%erts_version%\bin\erl.exe" 22@set boot_file="%releases_dir%\%release_version%\%node_name%" 23 24@if exist "%releases_dir%\%release_version%\sys.config" ( 25 @set app_config="%releases_dir%\%release_version%\sys.config" 26) else ( 27 @set app_config="%node_root%\etc\app.config" 28) 29 30@if exist "%releases_dir%\%release_version%\vm.args" ( 31 @set vm_args="%releases_dir%\%release_version%\vm.args" 32) else ( 33 @set vm_args="%node_root%\etc\vm.args" 34) 35 36@%erl_exe% %erl_args% -boot %boot_file% -config %app_config% -args_file %vm_args% 37 38:set_trim 39@set %1=%2 40@goto :EOF 41