Next example could help. Note:
The cliparsearg.bat
script prints all command line arguments:
==>type cliparsearg.bat
@echo OFF >NUL
set /A "ii=0"
:loopfor
echo param %%%ii% = %0
SHIFT
set /A "ii+=1"
if not [%0]==[] goto :loopfor
echo all %%* = %*
goto :eof
==>cliparsearg.bat withoutspaces /S 3rdPar
param %0 = cliparsearg.bat
param %1 = withoutspaces
param %2 = /S
param %3 = 3rdPar
all %* = withoutspaces /S 3rdPar
==>cliparsearg.bat with 2 spaces /S 3rdPar
param %0 = cliparsearg.bat
param %1 = with
param %2 = 2
param %3 = spaces
param %4 = /S
param %5 = 3rdPar
all %* = with 2 spaces /S 3rdPar
==>cliparsearg.bat "with 2 spaces" /S 3rdPar
param %0 = cliparsearg.bat
param %1 = "with 2 spaces"
param %2 = /S
param %3 = 3rdPar
all %* = "with 2 spaces" /S 3rdPar
Resources (basic required reading for Windows batch scripters):