Freigeben über


rufen

Ruft ein Batchprogramm von einem anderen auf, ohne das übergeordnete Batchprogramm zu beenden. Der Anrufbefehl akzeptiert Bezeichnungen als Ziel des Anrufs.

Hinweis

Der Aufruf hat keine Auswirkung an der Eingabeaufforderung, wenn er außerhalb eines Skripts oder einer Batchdatei verwendet wird.

Syntax

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

Die Parameter

Parameter BESCHREIBUNG
[<drive>:][<path>]<filename> Gibt den Speicherort und den Namen des Batchprogramms an, das Sie aufrufen möchten. Der <filename> Parameter ist erforderlich und muss über eine .bat- oder .cmd Erweiterung verfügen.
<batchparameters> Gibt alle Befehlszeileninformationen an, die vom Batchprogramm benötigt werden.
:<label> Gibt die Bezeichnung an, zu der ein Batchprogrammsteuerelement springen soll.
<arguments> Gibt die Befehlszeileninformationen an, die an die neue Instanz des Batchprogramms übergeben werden sollen, beginnend bei :<label>.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Batchparameter

Die Verweise auf das Batchskriptargument (%0, %1, ...) sind in den folgenden Tabellen aufgeführt.

Die Verwendung des %* Werts in einem Batchskript bezieht sich auf alle Argumente (z. B. %1, %2, %3...).

Sie können die folgenden optionalen Syntaxen als Ersetzungen für Batchparameter verwenden (%n):

Batchparameter BESCHREIBUNG
%~1 Erweitert %1 und entfernt umgebende Anführungszeichen.
%~f1 Erweitert %1 auf einen vollqualifizierten Pfad.
%~d1 Erweitert %1 nur auf einen Laufwerkbuchstaben.
%~p1 Erweitert %1 nur auf einen Pfad.
%~n1 Erweitert %1 nur auf einen Dateinamen.
%~x1 Erweitert %1 nur auf eine Dateinamenerweiterung.
%~s1 Erweitert %1 auf einen vollqualifizierten Pfad, der nur Kurznamen enthält.
%~a1 Erweitert %1 auf die Dateiattribute.
%~t1 Erweitert %1 auf das Datum und die Uhrzeit der Datei.
%~z1 Erweitert %1 auf die Größe der Datei.
%~$PATH:1 Durchsucht die in der PATH-Umgebungsvariablen aufgeführten Verzeichnisse und erweitert %1 auf den vollqualifizierten Namen des ersten gefundenen Verzeichnisses. Wenn der Name der Umgebungsvariable nicht definiert ist oder die Datei von der Suche nicht gefunden wird, wird dieser Modifizierer auf die leere Zeichenfolge erweitert.

In der folgenden Tabelle wird gezeigt, wie Sie Modifizierer mit den Batchparametern für zusammengesetzte Ergebnisse kombinieren können:

Batchparameter mit Modifizierer BESCHREIBUNG
%~dp1 Erweitert %1 nur auf einen Laufwerkbuchstaben und Pfad.
%~nx1 Erweitert %1 nur auf einen Dateinamen und eine Erweiterung.
%~dp$PFAD:1 Durchsucht die Verzeichnisse, die in der PATH-Umgebungsvariablen aufgeführt sind, nach %1, und erweitert sich dann auf den Laufwerkbuchstaben und pfad des ersten gefundenen Verzeichnisses.
%~ftza1 Erweitert %1 , um die Ausgabe ähnlich dem Dir-Befehl anzuzeigen.

In den obigen Beispielen können %1 und PATH durch andere gültige Werte ersetzt werden. Die %~ Syntax wird durch eine gültige Argumentnummer beendet. Die %~ Modifizierer können nicht mit %*.

Bemerkungen

  • Verwenden von Batchparametern:

    Batchparameter können alle Informationen enthalten, die Sie an ein Batchprogramm übergeben können, einschließlich Befehlszeilenoptionen, Dateinamen, die Batchparameter %0 über %9und Variablen (z. B. %baud%).

  • Verwenden des <label> Parameters:

    Mithilfe des Aufrufs mit dem <label> Parameter erstellen Sie einen neuen Batchdateikontext und übergeben die Steuerung an die Anweisung nach der angegebenen Bezeichnung. Beim ersten Auftreten des Endes der Batchdatei (d. h. nach dem Springen zur Bezeichnung) kehrt das Steuerelement nach der Aufrufanweisung zur Anweisung zurück. Das zweite Mal, wenn das Ende der Batchdatei gefunden wird, wird das Batchskript beendet.

  • Verwenden von Rohren und Umleitungssymbolen:

    Verwenden Sie keine Rohre oder Umleitungssymbole (|) (< oder >) mit Einem Anruf.

  • Rekursive Aufrufe

    Sie können ein Batchprogramm erstellen, das sich selbst aufruft. Sie müssen jedoch eine Beendigungsbedingung angeben. Andernfalls können die übergeordneten und untergeordneten Batchprogramme endlos durchlaufen werden.

  • Arbeiten mit Befehlserweiterungen

    Wenn Befehlserweiterungen aktiviert sind, akzeptiert der <label> als Ziel des Anrufs. Die richtige Syntax lautet call :<label> <arguments>.

Beispiele

Um das checknew.bat Programm aus einem anderen Batchprogramm auszuführen, geben Sie den folgenden Befehl in das übergeordnete Batchprogramm ein:

call checknew

Wenn das übergeordnete Batchprogramm zwei Batchparameter akzeptiert und diese Parameter an checknew.batübergeben soll, geben Sie den folgenden Befehl in das übergeordnete Batchprogramm ein:

call checknew %1 %2