Freigeben über


call

Ruft ein Batchprogramm von einem anderen auf, ohne das übergeordnete Batchprogramm zu beenden. Der Aufrufbefehl akzeptiert Beschriftungen als Ziel des Aufrufs.

Note

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>]]

Parameters

Parameter Description
[<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.

Batch parameters

Die Argumentverweise des Batchskripts (%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 Ersatz für Batch-Parameter verwenden (%n):

Batch Parameter Description
%~1 Erweitert %1 und entfernt umgebende Anführungszeichen.
%~f1 Erweitert %1 zu einem 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 Dateinamenserweiterung.
%~s1 Erweitert %1 zu einem vollqualifizierten Pfad, der nur Kurznamen enthält.
%~a1 Erweitert %1 zu den Dateiattributen.
%~t1 Erweitert %1 auf das Datum und die Uhrzeit der Datei.
%~z1 Erweitert %1 auf die Größe der Datei.
%~$PATH:1 Durchsucht die Verzeichnisse, die in der Umgebungsvariablen PATH aufgeführt sind, 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 Description
%~dp1 Erweitert %1 nur auf einen Laufwerksbuchstaben und -pfad.
%~nx1 Erweitert %1 nur auf einen Dateinamen und eine Dateierweiterung.
%~dp$PATH:1 Durchsucht die in der Umgebungsvariablen PATH aufgeführten Verzeichnisse nach %1und wird dann auf den Laufwerkbuchstaben und den Pfad des ersten gefundenen Verzeichnisses erweitert.
%~ftza1 Erweitert %1 , um eine Ausgabe ähnlich dem Befehl dir 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 %*.

Remarks

  • Verwenden von Batchparametern:

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

  • Verwenden des <label> Parameters:

    Durch die Verwendung von call mit dem <label> Parameter erstellen Sie einen neuen Batchdateikontext und übergeben die Steuerung an die Anweisung nach der angegebenen Bezeichnung. Wenn das Ende der Batchdatei zum ersten Mal auftritt (d. h. nach dem Springen zur Bezeichnung), kehrt die Steuerung nach der Aufrufanweisung an die 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 senkrechten Stücke (|) oder Umleitungssymbole (< oder >) mit Aufruf.

  • 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, wird der Aufruf als Ziel des Anrufs akzeptiert <label> . Die richtige Syntax lautet call :<label> <arguments>.

Examples

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