Udostępnij przez


wywołanie

Wywołuje jeden program wsadowy z innego bez zatrzymywania nadrzędnego programu wsadowego. Polecenie call akceptuje etykiety jako element docelowy połączenia.

Note

Wywołanie nie ma wpływu na wiersz polecenia, gdy jest używane poza plikiem skryptu lub partii.

Syntax

call [drive:][path]<filename> [<batchparameters>]] 
call [:<label> [<arguments>]]

Parameters

Parameter Description
[<drive>:][<path>]<filename> Określa lokalizację i nazwę programu wsadowego, który chcesz wywołać. Parametr <filename> jest wymagany i musi mieć rozszerzenie .bat lub .cmd.
<batchparameters> Określa wszelkie informacje wiersza polecenia wymagane przez program wsadowy.
:<label> Określa etykietę, do której ma przejść kontrolka programu wsadowego.
<arguments> Określa informacje wiersza polecenia, które mają być przekazywane do nowego wystąpienia programu wsadowego, począwszy od :<label>.
/? Wyświetla pomoc w wierszu polecenia.

Batch parameters

Odwołania do argumentów skryptu wsadowego (%0, %1, ...) są wymienione w poniższych tabelach.

Użycie %* wartości w skrypcie wsadowym odwołuje się do wszystkich argumentów (na przykład %1, %2 ,%3...).

Można użyć następujących opcjonalnych składni jako podstawień parametrów wsadowych (%n):

Batch Parameter Description
%~1 Rozwija %1 i usuwa otaczające go znaki cudzysłowu.
%~f1 Rozwija %1 do w pełni kwalifikowanej ścieżki.
%~d1 Rozwija %1 tylko do litery dysku.
%~p1 Rozwija %1 tylko do ścieżki.
%~n1 Rozwija %1 tylko do nazwy pliku.
%~x1 Rozwija %1 tylko do rozszerzenia nazwy pliku.
%~s1 Rozwija %1 do w pełni kwalifikowanej ścieżki, która zawiera tylko krótkie nazwy.
%~a1 Rozwija %1 do atrybutów pliku.
%~t1 Rozwija %1 do daty i godziny pliku.
%~z1 Rozwija %1 do rozmiaru pliku.
%~$PATH:1 Przeszukuje katalogi wymienione w zmiennej środowiskowej PATH i rozwija %1 do w pełni kwalifikowanej nazwy pierwszego znalezionego katalogu. Jeśli nazwa zmiennej środowiskowej nie jest zdefiniowana lub plik nie zostanie znaleziony przez wyszukiwanie, ten modyfikator rozwija się do pustego ciągu.

W poniższej tabeli przedstawiono sposób łączenia modyfikatorów z parametrami wsadowymi dla wyników złożonych:

Parametr usługi Batch z modyfikatorem Description
%~dp1 Rozwija %1 tylko do litery dysku i ścieżki.
%~nx1 Rozwija %1 tylko do nazwy pliku i rozszerzenia.
%~dp$PATH:1 Przeszukuje katalogi wymienione w zmiennej środowiskowej PATH w poszukiwaniu %1, a następnie rozwija się do litery dysku i ścieżki pierwszego znalezionego katalogu.
%~ftza1 Rozwija %1 w celu wyświetlenia danych wyjściowych podobnych do polecenia dir .

W powyższych przykładach %1 i PATH można zastąpić innymi prawidłowymi wartościami. Składnia %~ jest przerywana przez prawidłowy numer argumentu. Modyfikatory %~ nie mogą być używane z %*programem .

Remarks

  • Używanie parametrów wsadowych:

    Parametry wsadowe mogą zawierać dowolne informacje, które można przekazać do programu wsadowego, w tym opcje wiersza polecenia, nazwy plików, parametry wsadowe %0 przez %9i zmienne (na przykład %baud%).

  • Przy użyciu parametru <label> :

    Używając wywołania z parametrem <label> , utworzysz nowy kontekst pliku wsadowego i przekażesz kontrolę do instrukcji po określonej etykiecie. Przy pierwszym napotkaniu końca pliku wsadowego (czyli po przeskoczeniu do etykiety) formant powraca do instrukcji po instrukcji call . Po drugim napotkaniu zakończenia pliku wsadowego skrypt wsadowy zostanie zakończony.

  • Używanie potoków i symboli przekierowania:

    Nie używaj potoków (|) ani symboli przekierowania (< lub >) z wywołaniem.

  • Wykonywanie wywołania cyklicznego

    Można utworzyć program wsadowy, który wywołuje się samodzielnie. Należy jednak podać warunek zakończenia. W przeciwnym razie programy wsadowe nadrzędne i podrzędne mogą bez końca pętli.

  • Praca z rozszerzeniami poleceń

    Jeśli rozszerzenia poleceń są włączone, połączenie jest <label> akceptowane jako cel połączenia. Poprawna składnia to call :<label> <arguments>.

Examples

Aby uruchomić program checknew.bat z innego programu wsadowego, wpisz następujące polecenie w nadrzędnym programie wsadowym:

call checknew

Jeśli nadrzędny program wsadowy akceptuje dwa parametry wsadowe i chcesz przekazać te parametry do checknew.bat, wpisz następujące polecenie w nadrzędnym programie wsadowym:

call checknew %1 %2