Dein erstes Batch-Skript in der Kommandozeile – Anfänger-Tutorial

Hast du schon Mal die Kommandozeile in Windows benutzt?

Falls ja, ist es Zeit deine erste Batch-Datei zu schreiben, um lästige Aufgaben in Windows zu automatisieren.

Vereinfacht gesagt ist eine Batch-Datei (oder ein Batch-Skript) eine Datei mit mehreren Befehlen. Diese Befehle werden ausgeführt, sobald du die Datei mit einem Doppeklick anklickst. Batchdateien haben ihren Ursprung in MS DOS, funktionieren aber immer noch tadellos auf modernen Windows-Versionen (z.B. Win 10)

Die Grundlagen zu Batch-Dateien

Eine Batchdatei ist eine simple Textdatei, die mit der Dateierweiterung .bat gespeichert wird.

Du kannst sie mit dem Standard-Texteditor oder einem Editor wie Notepad++ erstellen und beschreiben.

Erstelle deine erste Batch-Datei

Nachfolgend werden wir gemeinsam eine einfache Batch-Datei erstellen, damit du deinen ersten Bezug zur Praxis bekommst.

1. Als erstes öffnest du einen Texteditor (oder Notepad++)

2. Tippe dann die folgenden Zeilen hinein:

@echo off
echo Hallo LerneProgrammieren
pause

3. Als nächstes speicherst du die Datei, indem du auf Datei > Speichern klickst. Erstelle einen beliebigen Dateinamen, ABER achte darauf, dass du die Dateiendung mit .bat angibst z.B meinskript.bat

Du hast nun in drei einfachen Schritten deine erste Batch-Datei mit der Dateierweiterung .bat erstellt.

Jetzt kannst du die Datei ausführen:

Mache einen Doppelklicke auf die Datei, um das Skript zu starten.

Hast du das gemacht?

Hier die Erklärung, was passiert ist:

  1. Zu erst wird der Befehl @echo off ausgeführt. Dieser bewirkt, dass das die Ausgabe geleert wird.
  2. Danach wird der Text "Hallo LerneProgrammieren" in der Kommandozeile dargestellt (gedruckt).
  3. Mit dem letzten Befehl "pause", wird darauf gewartet, dass du eine beliebige Taste drückst, bevor das Skript endet.

Wenn du den "pause"-Befehl nicht verwendest, würde die Kommandozeile nach dem letzten auszuführenden Befehl einfach geschlossen werden. Die Kommandozeile würde zwar den "Hallo LerneProgrammieren" Text darstellen, jedoch könnten wir ihn nicht sehen, weil das das Fenster zu schnell wieder geschlossen wird.

Komplexe Batch-Dateien erstellen

Es ist im Grunde ganz einfach, eine komplexe Batch-Datei zu erstellen.

Das Einzige, was du jetzt ändern musst sind die Befehle. Um mehrere Befehle auszuführen, gibst du jeden Befehl in einer eigenen Zeile ein. Dein Batch-Skript führt die Befehle dann der Reihe nach aus (von oben nach unten).

Nehmen wir zum Beispiel an, wir wollen eine Batch-Datei schreiben, die mehrere Netzwerk-Diagnosebefehle ausführt.

Vielleicht wollen wir den Befehl  ipconfig /all ausführen, um Netzwerkinformationen anzuzeigen, dann Google anpingen (mit ping lerneprogrammieren.de), um zu sehen, ob der Google-Server antwortet und schließlich eine Traceroute zu google.de abfragen mit tracert lerneprogrammieren.de. Mit dem letzten Befehl können wir sehen, ob es Probleme beim Aufbau zum Server von google.de gab.

Der ganze Prozess sieht in unserem Batch-Skript so aus:

ipconfig /all
ping lerneprogrammieren.de
tracert lerneprogrammieren.de
pause

Wenn wir diese Datei ausführen, sehen wir die Ausgabe jedes Befehls nacheinander. Aber das ist nicht immer der beste Weg, um eine Batch-Datei zu erstellen.

Du kannst dein Skript noch verbessern, in dem du Kommentare zu deinem Code hinzufügst. Damit kannst du nützliche Hinweise in die Datei einfügen, damit du auch in 6 Monaten noch weißt, was der Code genau macht. Es ist ebenfalls nützlich für andere User, um deinen Code besser zu verstehen. Das Gute bei Kommentaren ist, dass sie beim Kompilieren nicht ausgeführt werden. Sie haben eine reine Hinweis-Funktion.

Weiterhin kannst du "echo off" benutzen, damit die auszuführenden Befehle nicht in der Ausgabe deiner Kommandozeile angezeigt werden. Den jenigen, der die Batch-Datei später ausführt, interessieren nur die Ausgaben des ipconfig, ping und tracert Befehl, jedoch nicht die gedruckte Befehlszeile "ipconfig /all" usw.

Nachfolgend eine "verbesserte" Version unseres Batch-Skripts:

:: Diese Batch-Datei prüft Probleme mit der Netzwerkverbindung
echo off

:: Details zur Netzwerkverbindung ansehen
ipconfig /all

:: Prüfe, ob LerneProgrammieren.de erreichbar ist
ping lerneprogrammieren.de

:: Führe eine Traceroute aus, um die Route zu lerneprogrammieren.de zu überprüfen
tracert lerneprogrammieren.de
pause

Es gibt noch weitere Möglichkeiten, dieses Skript zu verbessern. Zum Beispiel könntest du dein Batch-Skript die obigen Befehle ausführen lassen und dann die Ausgabe in einer Textdatei speichern. Du kannst dir das Resultat deines Skripts dann später ansehen und hast immer eine gespeicherte Referenz.

Um das umzusetzen, musst du nach jedem Befehl den Operator >> verwenden, um die Ausgabe an eine Textdatei anzuhängen. Da wir die Ausgabe aus der Textdatei sowieso lesen werden, können wir den pause-Befehl weglassen.

Ergebnisse in einer TXT-Datei speichern:

:: Diese Batchdatei prüft auf Probleme mit der Netzwerkverbindung
:: und speichert die Ausgabe in einer .txt-Datei.
echo off

:: Netzwerkverbindungsdetails ansehen
ipconfig /all >> ergebnisse.txt

:: Prüfe, ob LerneProgrammieren.de erreichbar ist
ping lerneprogrammieren.de >> ergebnisse.txt

:: Führe eine Traceroute aus, um die Route zu lerneprogrammieren.de zu überprüfen
tracert lerneprogrammieren.de >> ergebnisse.txt

Nachdem du das obige Skript ausgeführt hast, findest du eine Datei namens ergebnisse.txt im selben Ordner, wie die Batchdatei. Hier sind alle Ausgaben der Befehle abgespeichert. Das Eingabeaufforderungsfenster wird automatisch geschlossen, sobald die Batchdatei fertig ausgeführt wurde.

Das Beispiel, das wir oben verwenden, beruht darauf, dass wir tatsächlich Informationen in die Eingabeaufforderung drucken, damit der Benutzer sie lesen kann.

Viele Batchdateien sind jedoch so konzipiert, dass sie nicht interaktiv ausgeführt werden können. Du könntest zum Beispiel eine Batchdatei haben, die mehrere Dateien oder Verzeichnisse löscht, wenn du darauf doppelklickst. Du müsstest nur den Befehl del verwenden, um Dateien zu löschen oder den Befehl deltree, um Verzeichnisse zu löschen.

Denk daran, dass du nur die Befehle verwendest, die du auch in der Kommandozeile ausführen würdest.

Fazit

Du hast jetzt gelernt, wie du mit einfachen Batch-Dateien mehrere Befehle automatisiert ausführen kannst. Allerdings können Batchdateien tatsächlich wesentlich komplexer sein als die oben gezeigten Beispiele.

Du kannst zum Beispiel "IF"-Anweisungen zusammen mit dem "GOTO"-Befehl verwenden, um den Wert von etwas zu überprüfen und dann je nach Ergebnis zu verschiedenen Zeilen springen.

Das Wort "Skript" passt dann meist nicht mehr, da du hier eher schon komplexe Programme schreibst. Das ist auch ein Grund, warum .bat-Dateien manchmal "Batch-Programme" (anstatt "Batch-Skripte") genannt werden. Wenn du etwas komplexeres machen willst, findest du online viele Anleitungen, wie man bestimmte Dinge mit Batch-Programmierung macht. Aber jetzt kennst du bereits die Grundlagen, wie man ein einfaches Programm zusammensetzt.

  • 6. August 2020
Click Here to Leave a Comment Below 0 comments

Leave a Reply:

🎄 Weihnachts-Special: 15% Rabatt auf ALLE Kurse - Achtung: Nur noch wenige Tage ⏰ Deals sichern
+