BATch-Dateien - Kommandos+Befehle

Welche Befehle lassen sich in BAT-Dateien eigentlich verwenden?

Einleitung

Grundsätzlich unterscheidet man zwischen

  • als ausführbare Dateien vorliegende Befehle und
  • (eingebauten) Kommandos

Befehle

Grundsätzlich lassen sich in einer Bat-Datei alle Programe starten, die Sie auch im Explorer per Doppelklick starten könnten. Dazu müsste man den vollständigen Pfad zum Programm angeben. Um ein Programm ohne Angabe des Pfades anzugeben, muss es sich

  • in einem Der Ordner der Umgebungsvariable PATH befinden
    Welche Pfade sich darin befinden, sehen Sie nach Eingabe von "echo %PATH%" oder
  • die Anwendung im System mit einem aufrufbaren Alias und zugehörigem Programm registriert sein unter HKEY_LOCAL_Machine\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\.


Im engeren Sinne sind die vom Betriebsystem mitgelieferten Kommandozeilenprogramme gemeint. Zumeist befinden sich diese im Ordner %WINDIR%\Command\ oder %WINDIR%\System32\.
Erweitern lässt sich der vorhandene Befehlsumfang durch

  • Nutzung weiterer mitgelieferter Kommandozeilentools, z.B. im WINDOWS-Verzeichnis befinden sich Tools, wie ftp, ping, netstat, tracert, ...
  • Installation des kostenpflichtigen Ressource-Kits von Microsoft (für Windows NT4/ 2000)
  • sonstige Kommandozeilen-Tools;
    • wer UNIX/Linux-Befehle kennt: viele der Kommandos sind GNU-Tools, die es auch für Windows compliliert gibt
    • Es gibt zuhauf Kommandozeilen-Tools für weitere, vom Betriebssystem noch nicht abgedeckte Aufgaben.
    Man kann sich die "neuen Befehle" in ein eigenes Verzeichnis kopieren (das in der Variable PATH aufgenommen werden sollte).

Kommandos

Kommandos sind Anweisungen, die fest in den Befehlsinterpreter "eingebaut" sind. Unter UNIX würde man von shellinternen Kommandos sprechen.
Welche Kommandos im Kommandointerpreter fest einprogrammiert worden sind, hängt somit logischwereise vom verwendeten Kommandointerpreter selbst ab. Unter Win95/ 98 kommt die command.com zum Einsatz; unter Windows NT4/2000 hingegen die cmd.exe. Beide unterscheiden sich vom Funktionsumfang und Bedienungscomfort. Die Folge ist: Es laufen für ein Windows-System getestete Bat-Dateien nicht zwangsläufig auf einer anderen Windows-Version!

Beispiele:

  • Mit dem Kommando findstr der cmd.exe eine Textsuche in Dateien ausführen. Die command.com von Win95/98 kennt dieses Kommando gar nicht, was zu einem Syntax-Fehler führt.
    Aber auch die cmd.exe von NT4 und Win2000 unterscheiden sich: Unter der 2000er Version kann man auch reguläre Ausdrücke suchen lassen
  • Wenn ein Kommando einen Fehlercode zurückliefert, erfolgt unter der der command.com die Abfrage mit Hilfe von abstegenden "if errorlevel [wert] goto [...]". Unter der cmd.exe wird eine Umgebungsvariable namens ERRORLEVEL gesetzt.

nutzbare Kommandos und Befehle

Vorab: eine Liste aller Kommandos und Befehle unter Windows finden Sie hier:
Alle Windows-Kommandos

Die wichtigsten seitens des Betriebsystems zur Verfügung stehenden Kommandos und Befehle erhält man unter Windows (ab NT4) durch die Eingabe von "help" in der Eingabeaufforderung. Der Aufruf von "help [Kommando]" oder "[Kommando] /?" zeigt weitere Hilfestellungen.
Auch in der Hilfedatei von Windows (über den Schalter Start | Hilfe) kann man via Index die Liste der "DOS"-Kommandos und Befehle einsehen.

Wichtig noch zu wissen:
Es gibt weitere Kommandozeilentools im Windows-, Command- oder System32- Verzeichnis, die mit dem Aufruf von "help" nicht aufgelistet werden.