В командном файле я должен сделать (например) следующее?
@echo off
call other.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
windows
scripting
batch-file
Роджер Липскомб
источник
источник
Ответы:
Пакетные файлы Windows (начиная с Windows XP, но, возможно, ранее) поддерживают
%*
конструкцию, которая оценивает все параметры, начиная с% 1 и далее.К сожалению, это не соблюдает
SHIFT
команду, поэтому следующее не будет работать:Первый параметр будет передаваться во второй пакетный файл.
источник
%*
сохраняет пробелы / кавычки.Вы можете собрать все арги вместе, используя что-то вроде:
Это работает независимо от количества аргументов.
источник
Если вы хотите пропустить, например, первые 3 параметра и передать остальные:
Могут быть проблемы с кавычками в параметрах.
Слава Патрику Каффу, /programming/382587/how-to-get-batch-file-parameters-from-nth-position-on
источник
Да, они делают.
Вы можете написать свой пример следующим образом:
Кроме того: сдвиг поддерживается на окнах ... Смотрите это .
Но действительно, эта последняя ссылка подтверждает, что сдвиг не работает в сочетании с% *:
источник
источник
call other.bat
с данными параметрами :( Где я могу написать «other.bat»? Можно ли удалить «Индекс (ы) параметра для извлечения» "запрос? Кроме того,cls
не требуется в окончательном решении.