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 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 lautetcall :<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