Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 lautetcall :<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