Batch-Programmierung


Batch-Programmierung ist ein Programmier-Paradigma, mit dem sich bestimmte Kommandos auf der Ebene eines Betriebssystems, wie zum Beispiel DOS oder Windows 7/ XP automatisiert abarbeiten lassen. Eine Batch-Datei ist ein Stapel an solchen Kommandos. Wird sie mit der Kommandozeile aufgerufen, führt das System jede einzelne dort notierte Aufgabe nacheinander aus. Deshalb ist auch die Bezeichnung Stapelverarbeitung gebräuchlich. Batch-Dateien werden häufig dafür verwendet, Betriebssysteme zu steuern und zu konfigurieren, können aber auch für andere Arbeitsabläufe wie Serverinstallationen benutzt werden. Die bekannteste Datei dürfte die Autoexec.bat sein, die das DOS-Betriebssystem startet.

Geschichte

In den Anfängen der Informationstechnik wurden Programme und Datensätze auf Lochkarten gespeichert, die dann nacheinander in den Rechner gegeben wurden. Diese Stapel (engl.: Batch) waren die Reihenfolge, mit der das System arbeiten musste. Sowohl Daten als auch Kommandos konnten auf diese Weise dem System zugeführt werden. Mit dem Aufkommen von anderen Speichermedien wie Magnetkarten und -bändern in den Sechziger Jahren wurden Lochkarten zwar immer mehr verdrängt, aber der Begriff Stapelverarbeitung wurde auch weiterhin auf das Prinzip der sukzessiven, sequentiellen Verarbeitung angewendet.[1]

Funktionsweise

Batch de.png

Batch Programmierung kann als interpreter-basierte Skriptsprache eingeordnet werden. Sie beinhaltet grundsätzliche Funktionen einer Programmiersprache wie zum Beispiel IF, IF NOT oder WHILE. Mit ihr lassen sich aber keine Anwendungen programmieren. Da Programme mit den zahlreichen Kommandos jedoch nicht nach der Kompilierung als ausführbare Datei gespeichert werden, wie es bei Anwendungen üblich ist, sind Batch-Dateien auf eine laufzeitorientierte Übersetzung in Maschinensprache angewiesen. Dies erfolgt durch die Windows-Kommandozeile cmd.exe (unter DOS command.com). Dort wird die Batch-Datei, die mit einem Standard-Texteditor bearbeitet werden kann, geparst und in Binärcode übersetzt.[2]

Die Kommandozeile kann die Datei allerdings nur ausführen, wenn sie in korrekter Batch-Syntax formuliert ist – das heißt, dass die zur Verfügung stehenden Zeichen, Befehle und deren Verknüpfungen sich im Rahmen der Batch-Grammatik des jeweiligen Systems bewegen müssen. Zur Verdeutlichung: Einige Batch-Befehle für MS-DOS können unter Umständen in Windows NT oder Windows 7 nicht verfügbar sein.[3]

Häufig verwendete, grundlegende Batch-Befehle sind:[4]

echo
  • Stellt Text auf dem Bildschirm dar
@echo off
  • Verhindert die Ausgabe von Text
rem
  • Setzt eine Kommentarzeile ein
start
  • Führt eine Datei in dessen Standardanwendung aus
mkdir
  • Erstellt einen Ordner
rmdir
  • Entfernt einen Ordner
del
  • Löscht eine Datei (oder mehrere)
copy
  • Kopiert eine Datei (oder mehrere)
xcopy
  • Kopieren einer Datei mit zusätzlichen Möglichkeiten
for in do
  • Für eine Variable X (for) wird ein Wert (in) vergeben und anschließend eine Aktion (do) eingeleitet. So lassen sich zum Beispiel alle Dateien mit einer bestimmten Dateiendung im aktuellen Verzeichnis löschen.
call
  • Ruft eine Batch-Datei innerhalb der Aktuellen auf
if
  • Unter einer bestimmten Bedingung wird eine Aktion durchgeführt. Dabei muss eine Alternative mit else notiert werden, wenn die Bedingung nicht zutrifft.

Beim Notieren der Befehle können Leerzeichen zu Programmabbrüchen führen. Wenn Leerzeichen zum Beispiel in Dateinamen vorkommen, müssen diese in Anführungszeichen gesetzt werden. Batch-Dateien können auch keine Sonderzeichen wie ä, ö oder ü lesen. Sie sind auf den ASCI-I Zeichensatz angewiesen, der keine Umlaute beinhaltet. Bei vielen Befehlen ist zudem Vorsicht geboten, da bestimmte Dateien für die Funktion des Systems unentbehrlich sind. Batch-Programmierer sollten also genau wissen, was sie tun, um die Stabilität des Systems nicht zu gefährden.

Beispiel

Ein einfaches Beispiel für die Textausgabe von „Hello World!“ ist die Datei Hello.bat. Sie wird mit einem Texteditor verfasst, gespeichert und dann mit der Kommandozeile aufgerufen und ausgeführt. In der Kommandozeile erscheint umgehend der Text „Hello World!“. Die Zeilen, die mit REM (Kommentare) gekennzeichnet sind, erklären die vorhergehenden Batch-Befehle und werden nicht ausgeführt.[5]

echo Hello World!
REM Text "Hello World!" ausgeben.
pause
REM Erst beim Drücken einer Taste schließt sich das Programm.

Bedeutung für das Online Marketing

Batch-Programmierung kann prinzipiell für einzelne Aufgaben im Bereich Online Marketing genutzt werden. Auch IP-Adressen und Bilder können in Stapeln bearbeitet werden. Batch-Jobs sind immer dann angezeigt, wenn viele gleiche Arbeitsschritte der Reihe nach durchgeführt werden sollen. So wird Batch-Programmierung mitunter für das Auslesen von Log-Files verwendet, um Daten für die Webanalyse zu extrahieren, zu speichern und unter Umständen auszudrucken. Allerdings werden hier meist andere Programme bevorzugt, da der Programmieraufwand sehr hoch wäre.

Einzelnachweise

  1. Stapelverarbeitung itwissen.info. Abgerufen am 05.03.2015
  2. How does the Windows Command Interpreter (CMD.EXE) parse scripts? stackoverflow.com. Abgerufen am 05.03.2015
  3. Batch Files & Batch Commands robvanderwoude.com. Abgerufen am 05.03.2015
  4. Batch Befehle de.wikibooks.org. Abgerufen am 05.03.2015
  5. echo @ bzw. @echo off script-example.com. Abgerufen am 05.03.2015

Weblinks