shift

Изменяет положение параметров пакетной службы в пакетном файле.

Syntax

shift [/n <N>]

Parameters

Parameter Description
/н <N> Указывает, что сдвиг начинается с N-гоаргумента, где N — любое значение от 0 до 8. Требуется расширения команд, которые включены по умолчанию.
/? Отображает справку в командной строке.

Remarks

  • Команда shift изменяет значения параметров пакета %0%9 , копируя каждый параметр в предыдущий — значение %1 копируется в %0, значение %2 — в %1и так далее. Это полезно для записи пакетного файла, выполняющего ту же операцию по любому количеству параметров.

  • Если расширения команд включены, команда shift поддерживает параметр командной строки /n . Опция /n указывает на начало сдвига с N-го аргумента, где N — это любое значение от 0 до 8. Например, SHIFT /2 сместит %3 на %2, %4 на %3и т. д., оставив %0 и %1 без изменений. Расширения команд включены по умолчанию.

  • Команду shift можно использовать для создания пакетного файла, который может принимать более 10 параметров пакета. Если указать в командной строке более 10 параметров, то те, которые появляются после десятого (%9) ), будут смещаться по одному в %9.

  • Команда shift не влияет на %* параметр batch.

  • Команды обратного сдвига нет. После реализации команды shift вы не сможете восстановить параметр пакета (%0), который существовал до смены.

Examples

Чтобы использовать пакетный файл, называемый Mycopy.bat, для копирования списка файлов в определенный каталог, введите:

@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