diff --git a/service_install.bat b/service_install.bat index 9a90691..dbca19a 100644 --- a/service_install.bat +++ b/service_install.bat @@ -45,7 +45,10 @@ if not defined selectedFile ( goto :eof ) -:: Parsing args (mergeargs: 2=start param|1=params args|0=default) +:: Args that should be followed by value +set "args_with_value=sni" + +:: Parsing args (mergeargs: 2=start param|3=arg with value|1=params args|0=default) set "args=" set "capture=0" set "mergeargs=0" @@ -92,6 +95,9 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do ( if !mergeargs!==1 ( set "temp_args=!temp_args!,!arg!" + ) else if !mergeargs!==3 ( + set "temp_args=!temp_args!=!arg!" + set "mergeargs=1" ) else ( set "temp_args=!temp_args! !arg!" ) @@ -100,6 +106,12 @@ for /f "tokens=*" %%a in ('type "!selectedFile!"') do ( set "mergeargs=2" ) else if !mergeargs!==2 ( set "mergeargs=1" + ) else if !mergeargs!==1 ( + for %%x in (!args_with_value!) do ( + if /i "%%x"=="!arg!" ( + set "mergeargs=3" + ) + ) ) ) )