У меня есть один мастер пакетный файлКак пропустить весь переданный параметр в пакетном файле?
Master.bat, который называется 3 файлов
first.bat
,second.bat
,third.bat
Теперь я хочу, чтобы передать параметры Master.bat
и на основе параметра требуется выполнить внутренние заявления например Если я прошел Master.bat first
, тогда Master.bat
должен выполнить только call first.bat
не другие.
Master.bat
call "first.bat"
call "second.bat"
call "third.bat"
Как я могу это достичь? Если несколько параметров также переданы? Как я могу выполнить цикл? ответ я принял отлично работает для меня, но Когда я прохожу дополнительные другие параметры он не :(как ниже Master.bat first,second parameter1 parameter2
теперь, когда я пытаюсь выполнить над ним только exceutes first.bat код для Master.bat
является
@echo off
:LOOP
if "%1"=="" goto ENDLOOP
call "%1" %3 %2
shift
goto LOOP
:ENDLOOP
% 1 следует принять
first,second
% 2 должны принятьparameter1
% 2 должны принятьparameter2
Похоже, было бы так же просто выполнить пакетные файлы, которые вы хотите, просто связав их вместе, вместо использования основного командного файла для их выполнения. Меньше, чтобы напечатать! 'C: \ BatchFiles> first & second' или' C: \ BatchFiles> first & third' – Squashman
Возможный дубликат [как передать параметр, разделенный запятыми, в пакетный файл и использовать, если else в пакетном файле?] (Http: // stackoverflow .com/questions/33955749/how-to-pass-comma-separated-parameter-to-batch-and-use-if-else-in-batch-fil) – Squashman
Попытка понять связь между вашим предыдущим вопросом и вот этот. Опять же, вы можете просто сгруппировать команды вместо того, чтобы иметь отдельный командный файл для выполнения всех сдвигов. 'C: \ BatchFiles> сначала a b & second c d' – Squashman