Czy w pliku wsadowym muszę (np.) Wykonać następujące czynności?
@echo off
call other.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
windows
scripting
batch-file
Roger Lipscombe
źródło
źródło
Odpowiedzi:
Pliki wsadowe systemu Windows (od Windows XP, ale być może wcześniej) obsługują
%*
konstrukcję, która ocenia wszystkie parametry od% 1.Niestety, to nie honoruje
SHIFT
polecenia, więc następujące elementy nie będą działać:Nadal przekaże pierwszy parametr do drugiego pliku wsadowego.
źródło
%*
zachowuje białe znaki / cudzysłowy.Możesz zebrać wszystkie argumenty razem, używając czegoś takiego:
Działa to niezależnie od liczby argumentów.
źródło
Jeśli chcesz na przykład pominąć pierwsze 3 parametry i przekazać resztę:
Mogą występować problemy z cytatami w parametrach.
Wyrazy uznania dla Patricka Cuffa, /programming/382587/how-to-get-batch-file-parameters-from-nth-position-on
źródło
Tak, robią.
Możesz napisać swój przykład w następujący sposób:
Także: shift jest obsługiwany w systemie Windows ... Zobacz to .
Ale rzeczywiście ten ostatni link potwierdza, że shift nie działa w połączeniu z% *:
źródło
źródło
call other.bat
z podanymi parametrami :( Gdzie napisać „other.bat”? Czy można usunąć „Indeksy parametrów”, aby wyodrębnić „zapytanie? Równieżcls
nie jest potrzebne w ostatecznym rozwiązaniu.