COMMAND.COM
command.com ist der Kommandozeileninterpreter (CLI) der Microsoft-Betriebssysteme MS-DOS, Windows 95, 98, 98 SE und Me. Neben der Variante von Microsoft gab oder gibt es auch Entsprechungen in den MS-DOS-kompatiblen Betriebssystemen; darunter etwa das bis heute weiterentwickelte FreeCOM aus dem quelloffenen Projekt FreeDOS, oder der Kommandozeileninterpreter, den der ehemalige Microsoft-Konkurrent Digital Research mit seinem DR-DOS mitlieferte. Es gab auch Varianten wie 4DOS, die nicht Bestandteil eines Betriebssystems waren, sondern den Interpreter eines kompatiblen Systems ersetzten und eine größere Funktionalität boten.
Funktion und Befehle
Funktion des Interpreters
Die Funktion der command.com in MS-DOS und kompatiblen ist es, die grundlegende - und häufig einzige im Betriebssystem enthaltene - Schnittstelle zum Benutzer zu bilden. command.com interpretiert die Eingabe des Benutzers und führt daraufhin Befehle aus oder ruft ein Programm auf. Da die command.com allerdings nicht in den Kernel des DOS-Systems (bei MS-DOS beispielsweise IO.SYS) integriert, sondern als eigenes Modul ausgeführt ist, könnte ein DOS-System theoretisch auch ohne command.com oder Entsprechung genutzt werden; ohne anderweitige Eingabemöglichkeit ist eine sinnvolle Nutzung aber weitgehend ausgeschlossen. Außerdem wird das dadurch verhindert, dass DOS wenn es die command.com nicht findet dass booten verweigert, selbst wenn man eine andere Shell verwendet, muss dafür zunächst die Config.sys ausgeführt werden, wozu die command.com benötigt wird.
Aufbau von Befehle
Bei den für command.com verfügbaren Befehlen wird zwischen internen und externen Befehlen unterschieden. Als interne Befehle werden die im Kommandozeileninterpreter selbst enthaltenen Befehle bezeichnet; externe Befehle hingegen sind eigenständige Programme, die aus eigenen Programmdateien (Ausführbare COM- oder EXE-Dateien) bestehen.
Außerdem gibt es noch sogenannte Stapelverarbeitungsdateien, auch Batchdateien genannt, die einen "Stapel" von nacheinander abzuarbeitenden - internen sowie externen - Befehlen enthalten. Stapelverarbeitungsdateien können sich wie ein echtes Programm oder ein echter Befehl verhalten (und werden oft auch so aufgerufen), sind aber den Skripten zuzuordnen.
Ein Befehl wird aufgerufen, indem der Name des Befehls entweder einzeln, oder gefolgt von auch als Argumenten bekannten, sogenannten Parametern eingegeben wird. Ein Parameter, den fast jeder Befehl kennt, und der für gewöhnlich eine kurze Direkthilfe ausgibt, lautet beispielsweise /?. Im Gegensatz zu Programmen, die sich nur über Parameter steuern lassen, gibt es auch solche, die nur mit einem Befehl aufgerufen werden und dem Benutzer danach selbst die nötigen Eingabemöglichkeiten bieten. Dazu zählen auch die verschiedenen Grafische Benutzeroberflächen, die von DOS-Interpretern gestartet werden können (z.B. Alle Windows-Versionen bis Win9x/Me).
In den Artikeln cmd.exe und MS-DOS finden sich Listen wichtiger Befehle, die weitgehend auch mit den meisten command.com-Varianten übereinstimmen.
Andere Verwendung und Zukunft
Microsoft Windows
MS-DOS-Eingabeaufforderung
Unter den inzwischen veralteten DOS-basierten Windows-Versionen wurde die command.com aus dem sowieso benötigten DOS-System (welches ab Windows 95 auch mitgebracht wurde) dazu benutzt, eine Eingabeaufforderung in einem "Fenster" der Benutzeroberfläche bereitzustellen. Im Gegensatz zum DOS-Betrieb war jetzt zwar kein direkter Zugriff auf die Hardware mehr möglich; allerdings konnten die benötigten Funktionen, insbesondere Zugriff auf den Arbeitsspeicher und auf Geräte, die von DOS nur mit Treibern oder gar nicht angesprochen werden konnten, vom Windows-System emuliert werden.
cmd.exe
- Hauptartikel: cmd.exe
Windows NT und Nachfolger (darunter das heute aktuelle Windows Vista) setzen einen neuen, leistungfähigeren und weitgehend abwärtskompatiblen Kommandozeileninterpreter namens cmd.exe ein. Viele in command.com fehlende Funktionen, die früher nur durch Programme von Drittherstellern bereitgestellt werden konnten, sind in cmd.exe enthalten. So können zum Beispiel einfache Rechnungen durchgeführt werden und das Entfernen bestimmter Zeichen aus einer Variable ist möglich. Im Gegensatz zu command.com bei MS-DOS und kompatiblen ist cmd.exe kein wichtiger Bestandteil des Betriebssystems und wird nur benötigt, um eine Kommandozeilenoberfläche (Eingabeaufforderung) bereitzustellen und Stapelverarbeitungsdateien auszuführen.
FreeCOM
Im Betriebssystem FreeDOS, das eine unter der GNU GPL stehende MS-DOS-Alternative darstellt, ist der Kommandozeileninterpreter FreeCOM enthalten. FreeCOM und FreeDOS werden - im Gegensatz zu MS-DOS, DR-DOS und den meisten anderen DOS-Betriebssystemen und/oder Kommandozeileninterpretern - noch immer weiterentwickelt. Ähnlich cmd.exe bietet auch FreeCOM einige Erweiterungen zum MS-DOS-Interpreter, ist dabei aber mehr auf Kompatibilität ausgerichtet. So können zum Beispiel Stapelverarbeitungsdateien aus der MS-DOS-Zeit meist auch komplett ohne Anpassungen von FreeCOM korrekt interpretiert werden.
Siehe auch
Weblinks
- c't 16/2003, S. 136: Windows-Befehlszeile – Einführung zur Eingabeaufforderung
- FreeCOM-Übersicht (englisch) – Kommandozeileninterpreter von FreeDOS, der noch weiter entwickelt wird
- Antonis.de – Tutorials und Links zu DOS und Batchdateien