Microsoft DOS shift command

Updated: 04/26/2017 by Computer Hope

About shift

Changes the position of replaceable parameters in a batch program.

Availability

The shift command is an internal command that is available in the below Microsoft operating systems.

MS-DOS 3.00 and above
Windows 95
Windows 98
Windows ME
Windows NT
Windows 2000
Windows XP
Windows Vista
Windows 7
Windows 8
Windows 10

Shift syntax

Windows 2000, Windows XP, and later syntax

Changes the position of replaceable parameters in a batch file.

SHIFT [/n]

If Command Extensions are enabled the SHIFT command supports the /n switch that tells the command to start shifting at the nth argument, where n may be between zero and eight. The command below would shift %3 to %2, %4 to %3, etc. and leave %0 and %1 unaffected.

SHIFT /2

Windows 95, Windows 98, and Windows ME syntax

Changes the position of replaceable parameters in a batch file.

SHIFT

Shift examples

The example below would be done in a batch file; in this example we are naming the batch file test.bat and it contains the below lines.

@ECHO OFF
ECHO - %1
SHIFT
ECHO - %1

After creating the above example test.bat file, if you were to type the below command at the MS-DOS prompt, it would print "- ONE" and then "- TWO"; this command is commonly used to work through each of the command extensions or remove command extensions.

TEST ONE TWO

Additional information

  • See batch file help page for additional examples and uses of the shift command.
  • See our shift definition for further information and related links on this term.