Look here : processing switches
Although this is oriented toward using the format /username argument1
it's relatively easy to adapt to username=argument1
but there is a problem with =
when passed within "a" parameter - it's seen as a separator, so the receiving routine would see two parameters, but they'd be paired (username and argument1.)
Really depends on quite how you want to process the data. You can, if you so desire, pass the parameter "quoted"
to get over the = is a separator
problem, then use
for /f "tokens=1,*delims==" %%a in ("%~1") do set "%%a=%%b"
but remembering to use the quoting may be a stumbling block.
Note: using the procedure I've pointed to is not restricted by parameter-count.