Хорошо известная команда shift
может использоваться для сдвига позиционных параметров в пакетном файле, НО она не влияет на специальную переменную %*
.
Команда сдвига не влияет на пакетный параметр% *.
Есть ли альтернатива смещению %°
?
Хорошо известная команда shift
может использоваться для сдвига позиционных параметров в пакетном файле, НО она не влияет на специальную переменную %*
.
Команда сдвига не влияет на пакетный параметр% *.
Есть ли альтернатива смещению %°
?
К сожалению, нет, нет встроенного синтаксиса, чтобы делать то, что вы хотите. Лучшее, что вы можете сделать, это использовать цикл для создания переменной, содержащей желаемый список параметров. Каждая итерация добавляет %1
к списку и затем сдвигается. Цикл продолжается до тех пор, пока не останется больше параметров.
Это будет работать только в том случае, если параметры не содержат никаких кавычек без кавычек.
@echo off
shift /1
shift /1
set "remainingArgs="
:getRemainingArgs
if "%~1" neq "" (
set ^"remainingArgs=%remainingArgs% %1"
shift /1
goto :getRemainingArgs
)
echo remainingArgs=%remainingArgs%