Кажется очень неясным, что вы хотите, но если я правильно понимаю ваше требование, то:
@echo off
set ip=%~1
set port=%~2
set username=%~3
Все равно будет работать, если вы выполните:
RoSOXLauncher.bat IPHere,PortHere,UsernameHere
Просто потому, чтокроме разделителей: whitespace
, запятая и точка с запятой.Вы можете попробовать это и убедиться сами.
RoSOXLauncher.bat IPHere;PortHere;UsernameHere
RoSOXLauncher.bat IPHere PortHere UsernameHere
сделает то же самое.
С другой стороны, ваша программа, из которой вы отправляете параметры, может также разделять пробелами, командами илиточка с запятой, тогда вы можете просто использовать другой общий разделитель, такой как -
или :
, посмотрите это:
@echo off
for /f "tokens=1-3 delims=-" %%i in ("%~1") do (
echo ip %%i
echo port %%j
echo username %%k
)
Который вы можете запустить, используя:
RoSOXLauncher.bat IPHere-PortHere-UsernameHere
или
@echo off
for /f "tokens=1-3 delims=:" %%i in ("%~1") do (
echo ip %%i
echo port %%j
echo username %%k
)
, с которыми вы можете запустить:
RoSOXLauncher.bat IPHere:PortHere:UsernameHere