This doesn't make any sense:
FOR %%v IN (SET SHIFT GOTO:Loop1) DO %%v R%2=%3
That's going to try to generate some like:
SET R1=1
SHIFT R1=1
GOTO:Loop1 R1=1
Presumably, the GOTO will short-circuit and survive that extra parameter. SHIFT apparently won't. SHIFT, if command extensions are on, will accept a parameter in the form of "/n", where n is the parameter number to begin the shift from. R1=1 won't qualify.