Использование оператора SHIFT
Вы можете найти оператор SHIFT полезным в некоторых ваших пакетных файлах.
SHIFT сдвигает параметры командной строки справа налево.
(Параметры командной строки — это те параметры, которые включены в командную строку, используемую для выполнения вашего командного файла.) Это дает вам один способ, например, чтобы ваш командный файл принимал переменное количество параметров.
Внутренне интерпретатор команд нумерует элементы командной строки. Например, рассмотрим следующую команду, которая выполняет командный файл с именем DOIT.BAT:
doit first second third fourth fifth
В данном случае это команда «doit», за которой следуют пять параметров: первый, второй, третий, четвертый и пятый. Интерпретатор команд внутренне нумерует эти параметры от% 1 до% 5. Однако на самом деле существует «параметр» с номером% 0: сама команда (имя командного файла).
Чтобы увидеть, как это работает, создайте свой собственный файл DOIT.BAT, содержащий следующие команды:
@ECHO OFF CLS :TOP IF [%0]==[] GOTO :EOF ECHO %0 %1 %2 %3 %4 %5 SHIFT GOTO TOP
Пакетный файл сначала отключает отображение команд на экране, а затем очищает экран. Затем он устанавливает цикл команд (от TOP до конца файла), который выводит на экран элементы командной строки, а затем сдвигает (с помощью команды SHIFT) все элементы влево. После сдвига элемент% 0 отбрасывается, элемент% 1 становится% 0, элемент% 2 становится% 1 и так далее. Когда вы запустите командный файл, вы должны увидеть следующий результат:
doit first second third fourth fifth first second third fourth fifth second third fourth fifth third fourth fifth fourth fifth fifth
Когда вы используете SHIFT в своих собственных пакетных файлах, вы можете вызвать файл с переменным числом параметров, а затем переключаться между этими параметрами для выполнения своей обработки.
Этот совет (13198) применим к Windows 7, 8 и 10.