Anzeige
Anzeige
  1. GIGA
  2. Tech
  3. Digital Life
  4. Batch-Befehle: Grundlagen & Tricks

Batch-Befehle: Grundlagen & Tricks

Batch-Befehle steuern euren Rechner mit einem Klick. (© hitesh choudhary / Pexels)
Anzeige

Batch-Befehle sind ein Überbleibsel aus der MS-DOS-Zeit, aber sie haben noch lange nicht ausgedient. Wir verraten euch die interessantesten Batch-Befehle, mit denen ihr Aufgaben lösen könnt, die Windows allein nicht so schnell erledigen kann.

Erfahre mehr zu unseren Affiliate-Links
Wenn du über diese Links einkaufst, erhalten wir eine Provision, die unsere redaktionelle Arbeit unterstützt. Der Preis für dich bleibt dabei unverändert. Diese Affiliate-Links sind durch ein Symbol gekennzeichnet.  Mehr erfahren.
Anzeige

Batch-Befehle schreibt ihr in eine Batch-Datei. An anderer Stelle haben wir schon ausführlich erklärt, wie man eine Batch-Datei erstellen kann. Eine solche Batch-Datei ist im Grunde eine Textdatei, die einen oder mehrere Befehle enthält. Das können Befehle sein, die ins Betriebssystem integriert sind, aber auch normale Programmaufrufe. Ihr könnt sogar mit Batch-Befehlen andere Batchdateien aufrufen. Vieles, das diese Batch-Befehle erledigen, könnt Ihr auch mit der Maus in Windows erledigen. Aber eben immer nur einzeln nacheinander. Batch-Befehle schicken einen ganzen Stapel von Kommandos mit einem Befehl ab, was deutlich schneller geht.

© GIGA
Grundsätzlich bekommt Ihr alle verfügbaren Kommandozeilenbefehle von Windows angezeigt, wenn ihr unter unter dem Ausführen-Dialog eine Eingabeaufforderung mit „CMD“ öffnet und dann den Befehl „HELP“ eingebt. Zu jedem einzelnen der Befehle bekommt Ihr Anwendung und die einzelnen Parameter genannt, wenn ihr ein /? Anhängt. Also etwa „COPY /?“.
Anzeige

Standard-Batch-Befehle – Beispiele

Batch-Befehl

Verwendung

@ECHO OFF

Sorgt dafür, dass im Ausgabefenster die Befehle nicht angezeigt werden.

ECHO

Zeigt das an, was in der Batch-Datei dahinter steht. ECHO Hallo Erwin gibt aus Hallo Erwin.

PAUSE

Stoppt die Abarbeitung der Batch-Befehle, bis eine beliebige Taste gedrückt wurde. Kann etwa am Ende einer Batch-Datei stehen, damit man das Ausgabefenster noch einmal auf Fehlermeldungen kontrollieren kann.

REM

Steht REM vor einer Zeile der Batch-Datei, wird diese Zeile als Kommentar betrachtet und nicht als Befehl ausgeführt. So könnt Ihr etwa Befehle auskommentieren, die derzeit nicht ausgeführt werden sollen.

DEL bzw. ERASE

Löscht eine oder mehrere Dateien. Kann mit folgenden einzeln oder gleichzeitig angehängten Parametern aufgerufen werden:/P – fordert vor jeder Löschung zur Bestätigung auf.
/F – löscht auch schreibgeschützte Dateien
/S – löscht ebenfalls alle Dateien in allen Unterverzeichnissen
/Q – Keine weiteren Rückfragen bei Platzhaltern wie *.*
/A – Löscht Dateien nach ihren Dateiattributen. Also löscht etwa /A:H nur versteckte Dateien.

DIR

Listet alle Dateien und Verzeichnisse des aktuellen Verzeichnisses auf. DIR *.JPG listet nur Dateien mit der Endung JPG auf. DIR /P ist nützlich für Ordner mit vielen Dateien, da /P eine Pause nach jedem Ausgabefenster einschaltet. DIR /S listet auch Unterverzeichnisse auf.

COPY (Quelle) (Ziel)

COPY *.doc D:\DOCS – kopiert alle Dateien mit der Endung DOC ins angegebene Verzeichnis. COPY namen.txt voramen.txt – Legt eine Kopie der Datei namen.txt an und nennt sie vornamen.txt.

EXIT

Schließt das Ausgabefenster, nachdem alle Batch-Befehle abgearbeitet wurden.

RD (Remove Directory)

Löscht Verzeichnisse. RD /S /Q Pfadangabe - löscht alle Dateien, Verzeichnisse und Unterverzeichnisse im angegebenen Pfad (/S) ohne Nachfrage (/Q).

Anzeige

Ungewöhnliche Batch-Befehle

Jeder kann Batch-Befehle wie DEL oder XCOPY nutzen und noch ein paar feste Parameter und Pfade anfügen. Aber es gibt eben auch ein paar eher spezielle Batch-Befehle, die euch aber sehr helfen können.

Batch-Befehl

Beispielaufruf

Verwendungsbeispiel

%CD%

MOVE *.docx „%CD%/DOCS/

Mit %CD% wird der gesamte aktuelle Pfad ersetzt. Im links stehenden Aufruf werden also alle Dateien mit der Endung DOCX in ein Unterverzeichnis des aktuellen Pfades verschoben. Befehle wie MOVE brauchen zur Ausführung den kompletten Pfad, den ihr auf diese Weise nicht eingeben müsst. Mit einem solchen Befehl könnt Ihr also Verzeichnisse aufräumen und Daten zielgerichtet bewegen.

%1, %2, %3 …

Batch-Zeile:
echo Du heißt also %1
pause    Batch-Aufruf:
name.bat Erwin Ausgabe:
Du heißt also Erwin

Batch-Befehle können mehrere Variablen verarbeiten. Ihr ruft die Batch-Datei auf und fügt manuell den Inhalt der Variablen hinten an den Befehl an.Die Befehlszeile batch.bat Huhu Hallo Tach übergibt also die drei Variablen Huhu, Hallo und Tach an die Batch-Befehle in der Batch-Datei. Ihre Reihenfolge legt gleich auch die Nummer der Variable fest. Da Hallo an zweiter Stelle steht, würde es dort eingesetzt, wo in der Batchdatei %2 steht. Huhu ist also %1 und Tach ist %3.Wenn innerhalb der Batchdatei nur eine Variable verwendet wird, so werden zusätzlich übergebene Variablen ignoriert.

> (Größer-Zeichen)

DIR *.* > liste.txtDIR *.* > NUL
(NUL unterdrückt in diesem Fall die Ausgabe komplett)

Das Größer-Zeichen > ist ein Redirector für Batch-Befehle. Anstatt also etwa bei DIR *.* alle Dateien im Fenster aufzulisten, sorgt dieses Zeichen dafür, dass die Ausgabe des Befehls in eine Datei umgeleitet wird. Die enthält dann eine Liste aller Dateien und ihrer Attribute.

CHOICE

choice /M „Willst Du ein Listing, Ja oder Nein“
IF ERRORLEVEL 2 GOTO Marke2
IF ERRORLEVEL 1 GOTO Marke1:Marke2
EXIT:Marke1
dir *.*
pause

CHOICE fragt den Benutzer nach einer Entscheidung. Diese kann vorgeben werden und aus Buchstaben oder Zahlen bestehen.Die ERRORLEVEL werden von hinten nach vorne abgearbeitet. Die erste Antwort (z.B. Ja) ergibt ERRORLEVEL 1, die zweite Auswahl ergibt ERRORLEVEL 2 usw.Ihr könnt dann zu Sprungmarken springen, hinter denen Befehle folgen. CHOICE /? Erklärt den Batch-Befehl.

batch-befehle-choice
CHOICE lässt euch die Wahl, welche Batch-Befehle anschließend ausgeführt werden

Eigenheiten der Batch-Befehle

Batch-Befehle werden nacheinander ausgeführt. Das bedeutet nicht nur, dass sie in einer vorgegebenen Reihenfolge ausgeführt werden. Das bedeutet vor allem, dass der nachfolgende Befehl wartet, bis der vorangegangene fertig ist! Ihr startet also nicht z.B. mit einem Batch-Befehl fünf Programme gleichzeitig, sondern fünf Programme nacheinander.

Batch-Befehle können ihrerseits mit Parametern aufgerufen werden. Wenn ihr also eine Batch-Datei nicht einfach anklickt, sondern sie manuell auf der Kommandozeile aufruft, dann könnt ihr hinten noch ein paar weitere Parameter anhängen. Ein kleines Beispiel:

Wenn ein Programm auf allen möglichen Datenträgern eigene temporäre Ordner anlegt und sie nicht aufräumt, dann könntet ihr zu deren Beseitigung eine Batch-Datei schreiben. Die Datei weg.bat enthält dann zum Beispiel die Zeile

Anzeige

del C:\TEMPSCHROTT

Wenn es solche Ordner aber immer wieder auch auf D: und E. gibt, dann müssten die extra berücksichtigt werden. Also tragt Ihr entweder für jedes dieser Laufwerke eine weitere Zeile ein, oder Ihr verwendet eine Variable als Platzhalter. Diese Variablen könnt ihr durchnummerieren und die erste heißt demnach %1. Setzt sie dort ein, wo sich etwas ändert. Also in meinem Beispiel beim Laufwerksbuchstaben. Die Zeile heißt danach

del %1:\TEMPSCHROTT

Und aufgerufen wird die weg.bat mit der angehängten Variable. Der Aufruf weg.bat C löscht den Ordner auf Laufwerk C:. Und startet ihr weg.bat E, dann wird der Ordner auf E: gelöscht.

Wichtig dabei: Es wird eben nur das in die Variable übernommen, das hinterher manuell hinzugefügt wird. Ohne Variableneingabe funktionieren diese Batch-Befehle gar nicht mehr. Und hättet Ihr als Batch-Befehl gleich del %1 genommen, so müsstet ihr den ganzen Pfad von Hand an die Batch-Datei hängen.

Batch-Befehle immer erreichen

In der Regel liegen eure Batch-Dateien nicht unbedingt dort, wo sie benötigt werden. Ihr müsst sie also entweder dorthin kopieren, wo sie benötigt werden, oder als Variablen endlose Pfade angeben. Doch schließlich gibt es auch unter Windows die Systemumgebungsvariablen.

batch-befehle-systemumgebung
Systemumgebungsvariablen anpassen, um Batch-Befehle immer zu erreichen

Ihr müsst nur die globale Pfadangabe in den Systemumgebungsvariablen kontrollieren bzw. korrigieren, damit ihr von überall aus eure Batch-Befehle nutzen könnt.

  • In Windows könnt ihr am Start-Button in das Suchfeld das Wort „Umgebungsvariablen“ eingeben.
  • Klickt im nächsten Fenster auf „Bearbeiten“.
  • Fügt dort entweder den Pfad zu Eurer Batch-Datei hinzu, oder guckt, wohin ihr sie legen könnt, um sie immer zu erreichen. (Zum Beispiel in den Ordner C:\Windows).
  • Abspeichern und die Batch-Befehle gelten systemweit auf allen Laufwerken.

Mehr zum Thema

Hat dir der Beitrag gefallen? Folge uns auf WhatsApp und Google News und verpasse keine Neuigkeit rund um Technik, Games und Entertainment.

Anzeige