Built-in commands:
*CALL
*CLS
*COPY
*DIR
*DATE
*ECHO
*ELSE
*EXIT
*FOR
*GOTO
*IF
*MOVE
*PATH
*POPD
*REM
*SET
*SHIFT
*TIME
*TYPE
*VER
*VOL
Shifts the batch file arguments along, but does not affect %*. Thus, if %1=Hello 1, %2=Hello 2, and %3=Hello 3, then, after SHIFT, %1=Hello 2, and %2=Hello 3, but %* is "Hello 1" "Hello 2" "Hello 3".
Links:
$ shift /?
Changes the position of replaceable parameters in a batch file.
SHIFT [/n]
If Command Extensions are enabled the SHIFT command supports
the /n switch which tells the command to start shifting at the
nth argument, where n may be between zero and eight. For example:
SHIFT /2
would shift %3 to %2, %4 to %3, etc. and leave %0 and %1 unaffected.