------------------------- MS-DOS v6.22 Help: Shift -------------------------
<Notes> <Examples>                                                   <Index>
----------------------------------------------------------------------------
 
                                   SHIFT
 
Changes the position of replaceable parameters in a batch program.
 
Syntax
 
    SHIFT
 
                                      ***

<Syntax> <Examples>
----------------------------------------------------------------------------
 
                                SHIFT--Notes
 
How the SHIFT command works
 
The SHIFT command changes the values of the replaceable parameters %0
through %9 by copying each parameter into the previous one. In other words,
the value of %1 is copied to %0, the value of %2 is copied to %1, and so on.
This is useful for writing a batch file that performs the same operation on
any number of parameters.
 
Working with more than 10 command-line parameters
 
You can also use the SHIFT command to create a batch file that can accept
more than 10 parameters. If you specify more than 10 parameters on the
command line, those that appear after the tenth (%9) will be shifted one at
a time into %9.
 
Shifting parameters back
 
There is no backward SHIFT command. Once you carry out the SHIFT command,
you cannot recover the first parameter (%0) that existed before the shift.
 
                                      ***

<Syntax> <Notes>
----------------------------------------------------------------------------
 
                               SHIFT--Example
 
The following batch file, MYCOPY.BAT, shows how to use the SHIFT command
with any number of parameters. It copies a list of files to a specific
directory. The parameters are the directory name followed by any number of
filenames.
 
    @echo off
    rem MYCOPY.BAT copies any number of files
    rem to a directory.
    rem The command uses the following syntax:
    rem mycopy dir file1 file2 ...
    set todir=%1
    :getfile
    shift
    if "%1"=="" goto end
    copy %1 %todir%
    goto getfile
    :end
    set todir=
    echo All done
 
                                      ***

----------------------------------------------------------------------------
<Top of page>
Last update: June 14, 2000 06:20 EST by -vjf-
Content © 1997 Microsoft Corporation
All else © 2000 Vernon J Frazee
Counter