You may find the SHIFT statement useful in some of your batch files. What SHIFT does is shift the command-line parameters from right to left. (Command-line parameters are those parameters included on the command line used to execute your batch file.) This gives you one way, for example, to have your batch file accept a variable number of parameters.
Internally, the command interpreter numbers elements of the command line. For instance, consider the following command that executes a batch file named DOIT.BAT:
doit first second third fourth fifth
In this instance, the command is "doit", which is followed by five parameters: first, second, third, fourth, and fifth. The command interpreter, internally, numbers these parameters %1 through %5. In reality, though, there is a "parameter" numbered %0: the command (the batch file name) itself.
To see how this works, create your own DOIT.BAT file that contains the following commands:
@ECHO OFF CLS :TOP IF [%0]==[] GOTO :EOF ECHO %0 %1 %2 %3 %4 %5 SHIFT GOTO TOP
The batch file first turns off echoing of commands to the screen, then clears the screen. It then sets up a loop of commands (from :TOP through the end of the file) that echoes, to the screen, the elements of the command line and then shifts (through use of the SHIFT command) all the elements to the left. After the shift, element %0 is discarded, element %1 becomes %0, element %2 becomes %1, and so on. When you run the batch file, you should see the following output:
doit first second third fourth fifth first second third fourth fifth second third fourth fifth third fourth fifth fourth fifth fifth
When you use SHIFT in your own batch files, you can invoke the file with a variable number of parameters and then shift through those parameters to do your processing.
This tip (13198) applies to Windows 7, 8, and 10.
This tip is part of a series that shows you how to create and use Windows batch files. It introduces a few commands and ...
Discover MoreThis tip is part of a series that talks about Windows batch files. It introduces a few more commands you can use in your ...
Discover MoreOnce you become comfortable with batch files, chances are that you'll want to use them to perform various system ...
Discover MoreThere are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Copyright © 2024 Sharon Parq Associates, Inc.
Comments