|
Автор SavageNoName
|
|
Изменяет положения пакетных параметров в пакетных файлах. Синтаксисshift Параметрыотсутствуют Примечания- Использование параметра командной строки shift с расширениями командного процессора
Если расширения командного процессора разрешены (используются по умолчанию), команда shift поддерживает ключ /n, который указывает команде начинать сдвиг с n-го аргумента, где n — число от нуля до восьми. Например: SHIFT /2 сдвинет %3 на %2, %4 на %3 и т. д. %0 и %1 останутся неизменными. - Работа команды shift
Команда shift изменяет значения замещаемых параметров %0 - %9 путем копирования каждого параметра в предыдущий. Другими словами, значение %1 копируется в %0, значение %2 — в %1 и т. д. Такой прием оказывается полезным при написании пакетных файлов, выполняющих одну и ту же операцию над любым числом параметров. - Работа более чем с 10 пакетными параметрами
Команда shift также может быть использована для создания пакетных программ, воспринимающих более 10 параметров. В командной строке такой программы можно задать более 10-ти параметров, при этом все параметры, следующие за десятым (то есть за переменной%9) будут последовательно помещены в эту переменную %9. - Использование %* с командой shift
Команда shift не влияет на пакетный параметр %*. - Смещение параметров в обратном направлении
Команды, выполняющей обратный сдвиг не существует. После сдвига параметров командой shift начальное значение первого параметра (%0) не может быть восстановлено.
ПримерыВ следующем пакетном файле Mycopy.bat показано, как использовать команду shift с произвольным числом пакетных параметров. Файл копирует набор файлов в заданный каталог. Пакетные параметры представлены аргументами имени файла и каталога. @echo off rem MYCOPY.BAT копирует произвольное число файлов rem в каталог. rem Используется следующий синтаксис: rem mycopy dir файл1 файл2 ... set todir=%1 :getfile shift if "%1"=="" goto end copy %1 %todir% goto getfile :end set todir= echo Работа закончена
|