cmd.exe

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Die Artikel COMMAND.COM, cmd.exe und Windows PowerShell überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zusammenzuführen (→ Anleitung). Beteilige dich dazu an der betreffenden Redundanzdiskussion. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz und vergiss nicht, den betreffenden Eintrag auf der Redundanzdiskussionsseite mit {{Erledigt|1=~~~~}} zu markieren. Carbenium (Diskussion) 23:33, 27. Apr. 2012 (CEST)
cmd.exe
Logo von cmd.exe
Screenshot unter Windows 8
cmd.exe Version 6.2 Build 9200 (Version in Windows 8)
Basisdaten
Entwickler Microsoft
Aktuelle Version siehe Microsoft Windows
Betriebssystem Windows
Programmier­sprache OS/2, Windows NT
Kategorie Kommandozeileninterpreter
Lizenz MS-EULA
Deutschsprachig ja
„cmd.exe“ auf microsoft.com (engl.)

cmd.exe (offiziell auch Windows Eingabeaufforderung genannt) ist die Betriebssystem-Shell von OS/2 und der Microsoft-Windows-NT-Linie.

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

cmd.exe öffnet ein Fenster mit Kommandozeile und Eingabeaufforderung, in dem man Anweisungen nicht grafisch durch die Maus übermittelt, sondern diese direkt über die Tastatur eingibt. Mit diesen können beispielsweise Dateien kopiert, verschoben oder entfernt werden. Die Syntax der Befehle entspricht im Grundsatz der unter MS-DOS/PC DOS mit dessen Kommandozeileninterpreter COMMAND.COM, der jedoch um zahlreiche Funktionen erweitert wurde. Einige interne Befehle sind verbessert worden, beispielsweise for und if. Außer den internen Befehlen stehen dem Anwender noch zahlreiche weitere Programme, als Exe-Dateien oder Shell-Skripte zur Verfügung.

Wenn cmd.exe über eine Dateiverknüpfung gestartet wird, ist das Fenster mit dem Namen der Verknüpfung betitelt. Der Name der im Startmenü vorgesehenen Verknüpfung lautet Eingabeaufforderung.

Neuerungen[Bearbeiten | Quelltext bearbeiten]

Es handelt sich bei cmd.exe um eine native Win32-Anwendung, daher ist der Name „DOS-Eingabeaufforderung“ irreführend: es wird zwar eine Kommandozeile für MS-DOS-Befehle zur Verfügung gestellt, die selbst allerdings nicht unter MS-DOS als Betriebssystem läuft.

cmd.exe hat eine Reihe von Vorteilen gegenüber COMMAND.COM, so erzeugt das Zeichen | in einem Befehl zwei Prozesse sowie eine Pipe dazwischen (wie auf einem Unix-Betriebssystem), und keine Temporärdatei, in die zunächst die gesamte Ausgabe des Befehls links von der Pipe umgeleitet wird.

Mit Windows 2000 wurden die sogenannten Befehlserweiterungen eingeführt, die zahlreiche neue Funktionen zur Kommandozeile hinzufügt:

  • die Integration der Funktionalität des ursprünglich separaten Programms DOSKEY.COM, wie eine Kommandohistorie sowie Makros.
  • eine Befehlszeilenergänzung mittels Tab (bis Windows 2000 standardmäßig deaktiviert, seit Windows XP standardmäßig aktiv).
  • Zeichen, die eine spezielle Bedeutung haben (etwa das |) können jetzt als Parameter übergeben werden, indem man das Escapezeichen ^ voranstellt.
  • Der Befehl Set unterstützt bestimmte Ausdrücke, so etwa einfache arithmetische Operatoren, sowie die logischen Operatoren AND, OR und XOR.
  • Der Befehl Message ist jetzt nur noch auf und unter Windows XP verfügbar.
  • Der Befehl For unterstützt zahlreiche neue Parameter, so können Verzeichnisse rekursiv abgearbeitet werden und der Inhalt von Dateien als Eingabeparameter verwendet werden.
  • Der Befehl If unterstützt zahlreiche neue Vergleichsoperatoren. Auch kann die Existenz einer Variable geprüft werden.
  • Der Befehl Md unterstützt das Anlegen eines ganzen Verzeichniszweiges.

Diese Neuerungen lassen sich per Parameter deaktivieren, falls Kompatibilitätsprobleme mit älteren Stapelverarbeitungsdateien auftreten.

Resource Kit Tools[Bearbeiten | Quelltext bearbeiten]

Der Funktionsumfang von cmd.exe reicht für viele praktische Fälle nicht aus, insbesondere im Vergleich zu seinen Wettbewerbern aus dem UNIX-Umfeld. Microsoft reagierte mit einer kostenlosen Erweiterung namens Resource Kit Tools, aktuell in der Version Windows Server 2003 Resource Kit Tools. Auch wenn der Name Windows Server 2003 aufführt, so sind die meisten Erweiterungen auch in früheren Betriebssystemen lauffähig. Die zugehörigen Dokumentationen listen hier explizit auch Windows 2000 und Windows XP auf. Eine von vielen Funktionserweiterungen ist beispielsweise robocopy.exe, ein Programm für cmd.exe zum Kopieren, Synchronisieren und Überwachen auf Veränderungen von Dateien oder ganzen Verzeichnissen (in Windows Vista, Windows 7 und Windows Server 2008 bereits ohne Resource Kit integriert).

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]