shift

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

Синтаксис

shift [/n <N>]

Параметры

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

Замечания

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

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

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

  • Команда shift не влияет на параметр пакетной %* службы.

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

Примеры

Чтобы использовать пакетный файл с именем 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