„Cmd.exe“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Die 2 letzten Textänderungen von 2401:4900:5475:1DB9:81ED:EA6C:747B:5AB6 wurden verworfen und die Version 229864182 von Y2kbug wiederhergestellt.
Markierung: Manuelle Zurücksetzung
span-Tags durch Vorlage:Monospace ersetzt
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
{{SEITENTITEL:cmd.exe}}
{{SEITENTITEL:cmd.exe}}
{{Infobox Software
{{Infobox Software
| Name = <span style="font-family: monospace, monospace;">cmd.exe</span>
| Name = {{Monospace|cmd.exe}}
| Logo = [[Datei:Windows Eingabeaufforderung-Logo.png|50px|Logo von cmd.exe]]
| Logo = [[Datei:Windows Eingabeaufforderung-Logo.png|50px|Logo von cmd.exe]]
| Screenshot = [[Datei:Cmd in Windows 8.png|370px|Screenshot unter Windows&nbsp;8]]
| Screenshot = [[Datei:Cmd in Windows 8.png|370px|Screenshot unter Windows&nbsp;8]]
| Beschreibung = <span style="font-family: monospace, monospace;">cmd.exe</span> Version 6.2 Build 9200 (Version in [[Microsoft Windows 8|Windows&nbsp;8]]) innerhalb conhost.exe
| Beschreibung = {{Monospace|cmd.exe}} Version 6.2 Build 9200 (Version in [[Microsoft Windows 8|Windows&nbsp;8]]) innerhalb conhost.exe
| Maintainer =
| Maintainer =
| Hersteller = [[Microsoft]]
| Hersteller = [[Microsoft]]
Zeile 18: Zeile 18:
}}
}}


'''<span style="font-family: monospace, monospace;">cmd.exe</span>''' (offiziell auch '''Windows-Eingabeaufforderung''' genannt) ist die [[Betriebssystem-Shell]] von [[OS/2]], der [[Microsoft Windows NT|Windows-NT-Linie]] und [[ReactOS]]. In der Shell können [[Liste von DOS-Kommandozeilenbefehlen|DOS-Kommandozeilenbefehle]] verarbeitet und [[Stapelverarbeitungsdatei]]en ausgeführt werden.
'''{{Monospace|cmd.exe}}''' (offiziell auch '''Windows-Eingabeaufforderung''' genannt) ist die [[Betriebssystem-Shell]] von [[OS/2]], der [[Microsoft Windows NT|Windows-NT-Linie]] und [[ReactOS]]. In der Shell können [[Liste von DOS-Kommandozeilenbefehlen|DOS-Kommandozeilenbefehle]] verarbeitet und [[Stapelverarbeitungsdatei]]en ausgeführt werden.


== Funktionsweise ==
== Funktionsweise ==
Wird <span style="font-family: monospace, monospace;">cmd.exe</span> aufgerufen, wird wie bei jedem anderen Windows-Konsolenprogramm durch Windows <span style="font-family: monospace, monospace;">conhost.exe</span> aufgerufen, das die Eingabeaufforderung aufruft, in der man Anweisungen nicht grafisch durch die [[Maus (Computer)|Maus]] übermittelt, sondern direkt über die [[Tastatur]] eingibt. In dieser Konsole wird der [[Kommandozeileninterpreter]] <span style="font-family: monospace, monospace;">cmd.exe</span> gestartet. Über die [[Kommandozeile]] können beispielsweise Dateien kopiert, verschoben oder entfernt werden. Die Syntax der [[Befehl (Computer)|Befehle]] entspricht im Grundsatz der unter [[MS-DOS]]/[[PC&nbsp;DOS]] mit dessen Kommandozeileninterpreter <span style="font-family: monospace, monospace;">[[COMMAND.COM]]</span>, der jedoch um zahlreiche Funktionen erweitert wurde. Einige interne Befehle sind verbessert worden, beispielsweise <code>for</code> und <code>if</code>. Außer den internen Befehlen stehen dem Anwender noch zahlreiche weitere [[Computerprogramm|Programme]], z.&nbsp;B. als ''[[EXE]]-Dateien'', und andere [[ausführbare Datei]]en, z.&nbsp;B. [[Stapelverarbeitungsdatei]]en ([[Skriptsprache#Kommandozeileninterpreter|Shell-Skripte]]), zur Verfügung.
Wird {{Monospace|cmd.exe}} aufgerufen, wird wie bei jedem anderen Windows-Konsolenprogramm durch Windows {{Monospace|conhost.exe}} aufgerufen, das die Eingabeaufforderung aufruft, in der man Anweisungen nicht grafisch durch die [[Maus (Computer)|Maus]] übermittelt, sondern direkt über die [[Tastatur]] eingibt. In dieser Konsole wird der [[Kommandozeileninterpreter]] {{Monospace|cmd.exe}} gestartet. Über die [[Kommandozeile]] können beispielsweise Dateien kopiert, verschoben oder entfernt werden. Die Syntax der [[Befehl (Computer)|Befehle]] entspricht im Grundsatz der unter [[MS-DOS]]/[[PC&nbsp;DOS]] mit dessen Kommandozeileninterpreter {{Monospace|[[COMMAND.COM]]}}, der jedoch um zahlreiche Funktionen erweitert wurde. Einige interne Befehle sind verbessert worden, beispielsweise <code>for</code> und <code>if</code>. Außer den internen Befehlen stehen dem Anwender noch zahlreiche weitere [[Computerprogramm|Programme]], z.&nbsp;B. als ''[[EXE]]-Dateien'', und andere [[ausführbare Datei]]en, z.&nbsp;B. [[Stapelverarbeitungsdatei]]en ([[Skriptsprache#Kommandozeileninterpreter|Shell-Skripte]]), zur Verfügung.


Wenn <span style="font-family: monospace, monospace;">cmd.exe</span> über eine [[Dateiverknüpfung]] gestartet wird, ist das [[Fenster (Computer)|Fenster]] mit dem Namen der Verknüpfung betitelt. Der Name der im [[Startmenü]] vorgesehenen Verknüpfung lautet ''Eingabeaufforderung''.
Wenn {{Monospace|cmd.exe}} über eine [[Dateiverknüpfung]] gestartet wird, ist das [[Fenster (Computer)|Fenster]] mit dem Namen der Verknüpfung betitelt. Der Name der im [[Startmenü]] vorgesehenen Verknüpfung lautet ''Eingabeaufforderung''.


== Neuerungen ==
== Neuerungen ==
Es handelt sich bei cmd.exe um eine native [[Win32]]-Anwendung. Daher ist der Name „[[PC-kompatibles DOS|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.
Es handelt sich bei cmd.exe um eine native [[Win32]]-Anwendung. Daher ist der Name „[[PC-kompatibles DOS|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.


<span style="font-family: monospace, monospace;">cmd.exe</span> hat eine Reihe von Vorteilen gegenüber <span style="font-family: monospace, monospace;">COMMAND.COM</span>. So erzeugt das Zeichen <code>|</code> in einem Befehl zwei Prozesse sowie eine [[Pipe (Informatik)|Pipe]] dazwischen (wie auf einer [[Unix-Shell]]) und keine [[Temporäre Datei|Temporärdatei]], in die zunächst die gesamte Ausgabe des Befehls links von der Pipe umgeleitet wird.
{{Monospace|cmd.exe}} hat eine Reihe von Vorteilen gegenüber {{Monospace|COMMAND.COM}}. So erzeugt das Zeichen <code>|</code> in einem Befehl zwei Prozesse sowie eine [[Pipe (Informatik)|Pipe]] dazwischen (wie auf einer [[Unix-Shell]]) und keine [[Temporäre Datei|Temporärdatei]], in die zunächst die gesamte Ausgabe des Befehls links von der Pipe umgeleitet wird.


Mit [[Microsoft Windows 2000|Windows&nbsp;2000]] wurden die sogenannten ''Befehlserweiterungen'' eingeführt, die zahlreiche neue Funktionen zur Kommandozeile hinzufügt:
Mit [[Microsoft Windows 2000|Windows&nbsp;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 <span style="font-family: monospace, monospace;">[[DOSKEY.COM]]</span>, wie eine Kommandohistorie sowie Makros.
* die Integration der Funktionalität des ursprünglich separaten Programms {{Monospace|[[DOSKEY.COM]]}}, wie eine Kommandohistorie sowie Makros.
* eine [[Befehlszeilenergänzung]] mittels {{Taste|[[Tabulatortaste|↹&nbsp;(Tab)]]}} (bis Windows&nbsp;2000 standardmäßig deaktiviert, seit [[Microsoft Windows XP|Windows&nbsp;XP]] standardmäßig aktiv).
* eine [[Befehlszeilenergänzung]] mittels {{Taste|[[Tabulatortaste|↹&nbsp;(Tab)]]}} (bis Windows&nbsp;2000 standardmäßig deaktiviert, seit [[Microsoft Windows XP|Windows&nbsp;XP]] standardmäßig aktiv).
* Zeichen, die eine spezielle Bedeutung haben (etwa das <code>|</code>) können jetzt als Parameter übergeben werden, indem man das [[Maskierungszeichen]]&nbsp;<code>[[Zirkumflex|^]]</code> voranstellt.
* Zeichen, die eine spezielle Bedeutung haben (etwa das <code>|</code>) können jetzt als Parameter übergeben werden, indem man das [[Maskierungszeichen]]&nbsp;<code>[[Zirkumflex|^]]</code> voranstellt.
* Der Befehl <code>set</code> unterstützt bestimmte Ausdrücke, so etwa einfache arithmetische Operatoren, sowie die logischen Operatoren <span style="font-family: monospace, monospace;">AND</span>, <span style="font-family: monospace, monospace;">OR</span> und <span style="font-family: monospace, monospace;">XOR</span>.
* Der Befehl <code>set</code> unterstützt bestimmte Ausdrücke, so etwa einfache arithmetische Operatoren, sowie die logischen Operatoren {{Monospace|AND}}, {{Monospace|OR}} und {{Monospace|XOR}}.
* Der Befehl <code>message</code> ist jetzt nur noch auf und unter Windows&nbsp;XP verfügbar.
* Der Befehl <code>message</code> ist jetzt nur noch auf und unter Windows&nbsp;XP verfügbar.
* Der Befehl <code>for</code> unterstützt zahlreiche neue Parameter, so können Verzeichnisse rekursiv abgearbeitet werden und der Inhalt von Dateien als Eingabeparameter verwendet werden.
* Der Befehl <code>for</code> unterstützt zahlreiche neue Parameter, so können Verzeichnisse rekursiv abgearbeitet werden und der Inhalt von Dateien als Eingabeparameter verwendet werden.
Zeile 43: Zeile 43:


== Resource Kit Tools ==
== Resource Kit Tools ==
Der Funktionsumfang von <span style="font-family: monospace, monospace;">cmd.exe</span> in Windows 2000 oder XP reichte für viele praktische Fälle nicht aus, insbesondere im Vergleich zu seinen Wettbewerbern aus dem [[Unixoides System|Unix]]-Umfeld.
Der Funktionsumfang von {{Monospace|cmd.exe}} in Windows 2000 oder XP reichte für viele praktische Fälle nicht aus, insbesondere im Vergleich zu seinen Wettbewerbern aus dem [[Unixoides System|Unix]]-Umfeld.


Microsoft reagierte mit einer kostenlosen Erweiterung namens ''[[Resource Kit]] Tools'' beziehungsweise das neuere ''Windows Server 2003 Resource Kit Tools''. Auch wenn letzteres den Namen [[Microsoft Windows Server 2003|Windows Server 2003]] aufführt, so sind die meisten Erweiterungen auch in früheren NT-Betriebssystemen lauffähig; die zugehörigen Dokumentationen listen hier explizit [[Microsoft Windows 2000|Windows&nbsp;2000]] und [[Microsoft Windows XP|Windows&nbsp;XP]] auf. Eine von vielen Funktionserweiterungen ist beispielsweise <span style="font-family: monospace, monospace;">[[Robocopy|robocopy.exe]]</span>, ein Programm für <span style="font-family: monospace, monospace;">cmd.exe</span> zum Kopieren, Synchronisieren und Überwachen auf Veränderungen von Dateien oder ganzen Verzeichnissen; in [[Microsoft Windows Vista|Windows Vista]] und neueren Ausgaben ist Robocopy integriert (ohne die ''Resource Kit Tools'' installieren zu müssen). 2006 wurde die [[PowerShell]] eingeführt, die anfangs optional installiert werden konnte; in [[Microsoft Windows 7|Windows&nbsp;7]] sowie [[Microsoft Windows Server 2008 R2|Windows Server 2008&nbsp;R2]] und neuer ist sie vorinstalliert.
Microsoft reagierte mit einer kostenlosen Erweiterung namens ''[[Resource Kit]] Tools'' beziehungsweise das neuere ''Windows Server 2003 Resource Kit Tools''. Auch wenn letzteres den Namen [[Microsoft Windows Server 2003|Windows Server 2003]] aufführt, so sind die meisten Erweiterungen auch in früheren NT-Betriebssystemen lauffähig; die zugehörigen Dokumentationen listen hier explizit [[Microsoft Windows 2000|Windows&nbsp;2000]] und [[Microsoft Windows XP|Windows&nbsp;XP]] auf. Eine von vielen Funktionserweiterungen ist beispielsweise {{Monospace|[[Robocopy|robocopy.exe]]}}, ein Programm für {{Monospace|cmd.exe}} zum Kopieren, Synchronisieren und Überwachen auf Veränderungen von Dateien oder ganzen Verzeichnissen; in [[Microsoft Windows Vista|Windows Vista]] und neueren Ausgaben ist Robocopy integriert (ohne die ''Resource Kit Tools'' installieren zu müssen). 2006 wurde die [[PowerShell]] eingeführt, die anfangs optional installiert werden konnte; in [[Microsoft Windows 7|Windows&nbsp;7]] sowie [[Microsoft Windows Server 2008 R2|Windows Server 2008&nbsp;R2]] und neuer ist sie vorinstalliert.


== Weblinks ==
== Weblinks ==

Aktuelle Version vom 16. Mai 2024, 09:17 Uhr

cmd.exe

Logo von cmd.exe
Screenshot unter Windows 8
cmd.exe Version 6.2 Build 9200 (Version in Windows 8) innerhalb conhost.exe
Basisdaten

Entwickler Microsoft
Aktuelle Version siehe Microsoft Windows
Betriebssystem OS/2, ReactOS, Windows NT[1]
Programmier­sprache C[2]
Kategorie Kommandozeileninterpreter
Lizenz MS-EULA, GPLv2 bei ReactOS
deutschsprachig ja
„cmd.exe“ auf microsoft.com (englisch)

cmd.exe (offiziell auch Windows-Eingabeaufforderung genannt) ist die Betriebssystem-Shell von OS/2, der Windows-NT-Linie und ReactOS. In der Shell können DOS-Kommandozeilenbefehle verarbeitet und Stapelverarbeitungsdateien ausgeführt werden.

Wird cmd.exe aufgerufen, wird wie bei jedem anderen Windows-Konsolenprogramm durch Windows conhost.exe aufgerufen, das die Eingabeaufforderung aufruft, in der man Anweisungen nicht grafisch durch die Maus übermittelt, sondern direkt über die Tastatur eingibt. In dieser Konsole wird der Kommandozeileninterpreter cmd.exe gestartet. Über die Kommandozeile 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, z. B. als EXE-Dateien, und andere ausführbare Dateien, z. B. Stapelverarbeitungsdateien (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.

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 einer Unix-Shell) 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 Maskierungszeichen ^ 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 in Windows 2000 oder XP reichte 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 beziehungsweise das neuere Windows Server 2003 Resource Kit Tools. Auch wenn letzteres den Namen Windows Server 2003 aufführt, so sind die meisten Erweiterungen auch in früheren NT-Betriebssystemen lauffähig; die zugehörigen Dokumentationen listen hier explizit 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 und neueren Ausgaben ist Robocopy integriert (ohne die Resource Kit Tools installieren zu müssen). 2006 wurde die PowerShell eingeführt, die anfangs optional installiert werden konnte; in Windows 7 sowie Windows Server 2008 R2 und neuer ist sie vorinstalliert.

Einzelbelege und Anmerkungen

[Bearbeiten | Quelltext bearbeiten]
  1. anfänglich hauptsächlich wohl OS/2, danach (auch) Windows NT und sehr viel später dann (zudem quelloffen) ReactOS
  2. bei ReactOS sicher (siehe auch unter reactos/base/shell/cmd/ [englisch] – bei GitHub), bei Windows NT und OS/2 jedoch nur gemutmaßt (da diese nicht quelloffen sind)