IT

Funktionen mit CALL in Batch-Dateien? Wie geht das?

Zugegebenermaßen sind Batch-Dateien noch immer sehr verbreitet und halt auch mit einfachen Windows-Bordmitteln zu erstellen. Natürlich sind diese auch in ihrem Funktionsumfang stark beschnitten. So gibt es nur absolute Basics mit denen man programmieren kann. Funktionen gehören leider nicht zum Batch-Standard-Repertoire. Aber mit den vorhandenen Strukturen kann man sich behelfen und somit doch Funktionen abbilden. Wie man solche Funktionen in Batch-Dateien baut, erfährst du im folgenden Artikel.

 

Was ist eine Funktion?

Falls das Verständnis für die Funktionsweise einer Funktion fehlt, folgt hier eine kurze Einführung. Eine Funktion macht vieles einfacher, da man diese immer wieder einfach aufrufen kann, um einen gleichen Arbeitsschritt nicht immer wieder „neu programmieren“ zu müssen.

Durch Funktionen ist es also möglich, Code in immer wieder verwendbare Blöcke zu unterteilen. Eine Funktion kann man also als eine Gruppe von Anweisungen betrachten, die eine bestimmte Aufgabe ausführen und auch eine Rückgabe liefern können.

Ein einfaches Beispiel für eine Funktion in PowerShell könnte wie folgt aussehen:

In diesem Beispiel wird eine Funktion mit dem Namen „addNumbers“ definiert, die zwei Parameter „a“ und „b“ erwartet. Die Funktion addiert diese beiden Parameter und gibt das Ergebnis der Berechnung mittels „return“ zurück. Im Beispiel wird die Funktion dann mit den Werten „2“ und „3“ aufgerufen und es wird der Wert „5“ kalkuliert.

Durch die Verwendung dieser Funktion können wir nun in unserem Programm jederzeit auf diese spezifische Aufgabe zugreifen, ohne den Code immer wieder neu schreiben zu müssen. Wir können die Funktion einfach anrufen und die erforderlichen Parameter bereitstellen, um das gewünschte Ergebnis zu erhalten.

Ebenso sollte man auch wissen, wie man mit Schleifen in Batch-Dateien arbeiten kann. Dazu gibt es hier einen eigenen Artikel.

 

Funktions-Implementierung in Batch-Dateien

In einer Batch-Datei gibt es leider eigentlich keine Funktionen. Deshalb muss man sich der vorhandenen Befehle und Strukturen bedienen. Hierzu benötigt man den call-Befehl bzw. Sprungmarken / Label und kann mit deren Hilfe „tricksen“.

Der Aufbau einer Funktion ist dabei wie folgt:

Der Funktionsname sollte möglichst gut beschreiben, was die Funktion macht und am Ende muss man die Funktion mit Exit verlassen um in den weiteren Ablauf der Batch-Datei zurückzuspringen:

 

Platzierung der Funktionen in der Batch-Datei

Die Funktionen müssen entweder an den Anfang oder das Ende der Batch-Datei gesetzt werden und vom Rest der Batch-Datei mit Hilfe des goto-Befehls separiert werden. Dies erledigt man beispielsweise so, wenn man die Funktionen an den Anfang setzen möchte:

So könnte es aussehen, wenn man die Funktionen am Skriptende platzieren will:

 

Aufruf der Funktion in einer Batch-Datei

Aufgerufen wird die Funktion dann mittels des „CALL“-Befehls, mit man auch andere Batch-Dateien aufrufen kann:

 

 

 
 

Tobias Langner

Ich arbeite seit mehreren Jahren als Software-Release-Manager, zuvor als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-"Pausierer" an der FernUni Hagen. Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Tobias Langner

Ich arbeite seit mehreren Jahren als Software-Release-Manager, zuvor als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-"Pausierer" an der FernUni Hagen. Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Alle Beiträge ansehen von Tobias Langner →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert