Manchmal will man nur ein schlichtes Beispiel für eine Unterfunktion in einer Batch-Datei der Eingabeaufforderung, um die Funktionsweise zu verstehen!Der Befehl CALL startet einen neuen Batchdateikontext zusammen mit allen angegebenen Parametern. Wenn das Ende der zweiten Batchdatei erreicht ist oder wenn EXIT verwendet wird, kehrt die Steuerung direkt nach der ersten CALL-Anweisung zurück. Inhalt: 1.) ... Schlichtes Beispiel einer Unter-Funktion (Sub-Routine)!
|
(Bild-1) Beispiel einer schlichten Unterfunktion in der Bach-Datei! |
2.) Weitere Infos zu CALL aufrufen von Unter-Funktionen!
Wenn die Befehlserweiterungen aktiviert sind, wird der CALL-Befehl folgendermaßen verändert:
Der CALL-Befehl akzeptiert jetzt Marken als Sprungziele. Die Syntax ist:CALL :Marke Argumente
Mit:
call /?
Bekommen Sie weitere Hilfestellungen zum CALL Befehl, einfach mal üben, denn Übung macht den Meister!
„CALL“ wird in Batch-Dateien verwendet, um eine andere Batch-Datei oder eine Unterfunktion innerhalb derselben Batch-Datei aufzurufen. Hier finden Sie weitere Informationen zur Verwendung von „CALL“ zum Aufrufen von Unterfunktionen:
1. Syntax:
Die Syntax zum Aufrufen einer Unterfunktion lautet „call :label“, wobei „label“ der Name der Unterfunktion ist. Das „:“ vor dem Labelnamen identifiziert es als Unterfunktion innerhalb derselben Batchdatei.
2. Parameterübergabe:
Sie können Parameter an Unterfunktionen übergeben, indem Sie sie nach dem Labelnamen angeben, z. B. `call :add 5 3`. Innerhalb der Unterfunktion kann dann über „%1“, „%2“, „%3“ usw. auf diese Parameter zugegriffen werden.
3. Rückgabewerte:
Es gibt keine explizite Möglichkeit, Rückgabewerte von Unterfunktionen in Batchdateien abzurufen. Normalerweise werden Werte über Umgebungsvariablen oder Dateioperationen an die Aufrufseite übergeben.
4. Ende einer Unterfunktion:
Das Ende einer Unterfunktion wird durch das Schlüsselwort „goto :eof“ markiert. „:eof“ ist eine spezielle Bezeichnung, die das Ende einer Datei in einer Batchdatei darstellt. Nach dem Aufruf einer Unterfunktion mit „CALL“ wird die Ausführung an der Stelle fortgesetzt, die unmittelbar nach dem „CALL“ folgt.
5. Lokale Variablen:
Innerhalb einer Unterfunktion definierte Variablen sind standardmäßig lokal und gelten nur innerhalb dieser Funktion. Um eine Variable global und außerhalb der Unterfunktion sichtbar zu machen, muss sie mit „setlocal activateelayedexpansion“ und „endlocal“ bearbeitet werden.
6. Mehrere Ebenen von Unterfunktionen:
Sie können Unterfunktionen innerhalb von Unterfunktionen aufrufen, und für die Übergabe und den Aufruf von Parametern gelten dieselben Prinzipien.
Durch die Verwendung von Unterfunktionen mit „CALL“ können Batch-Skripte strukturiert und modularisiert werden, was die Lesbarkeit und Wartbarkeit verbessert.
FAQ 140: Aktualisiert am: 13 April 2024 10:33