cmd.exe - cmd.exe

Eingabeaufforderung (cmd.exe)
Eingabeaufforderungssymbol (Windows).png
Eingabeaufforderung unter Windows 10 RTM.png
Eingabeaufforderung in Windows 10
Andere Namen Windows-Befehlsprozessor
Entwickler Mitwirkende von Microsoft , IBM , ReactOS
Erstveröffentlichung Dezember 1987 ; Vor 33 Jahren ( 1987-12 )
Betriebssystem
Plattform IA-32 , x86-64 , ARM (und historisch gesehen DEC Alpha , MIPS , PowerPC und Itanium )
Vorgänger COMMAND.COM
Typ Kommandozeilen-Interpreter

cmd.exe ist der Standard- Befehlszeileninterpreter für die Betriebssysteme OS/2 , eComStation , ArcaOS , Microsoft Windows ( Windows NT- und Windows CE-Familie ) und ReactOS . Der Name bezieht sich auf den Namen der ausführbaren Datei. Es wird auch häufig als cmd oder Eingabeaufforderung bezeichnet und bezieht sich auf den Standardfenstertitel unter Windows. Die Implementierungen unterscheiden sich auf den verschiedenen Systemen, aber das Verhalten und der grundlegende Befehlssatz sind im Allgemeinen konsistent. cmd.exe ist das Gegenstück zu COMMAND.COM in DOS- und Windows 9x- Systemen und analog zu den Unix-Shells, die auf Unix-ähnlichen Systemen verwendet werden. Die ursprüngliche Version von cmd.exe für Windows NT wurde von Therese Stowell entwickelt. Windows CE 2.11 war die erste eingebettete Windows-Version, die eine Konsole und eine Windows CE-Version von cmd.exe unterstützte . Unter Windows CE .NET 4.2 , Windows CE 5.0 und Windows Embedded CE 6.0 wird sie auch als Command Processor Shell bezeichnet . Die ReactOS-Implementierung von cmd.exe stammt von FreeCOM, dem FreeDOS- Befehlszeileninterpreter.

Betrieb

cmd.exe interagiert mit dem Benutzer über eine Befehlszeilenschnittstelle . Unter Windows wird diese Schnittstelle über die Win32-Konsole implementiert . cmd.exe kann Funktionen nutzen, die nativen Programmen ihrer eigenen Plattform zur Verfügung stehen. Unter OS/2 und Windows kann es beispielsweise echte Pipes in Befehlspipelines verwenden, wodurch beide Seiten der Pipeline gleichzeitig ausgeführt werden können. Dadurch ist es möglich, den Standardfehlerstrom umzuleiten . ( COMMAND.COM verwendet temporäre Dateien und führt die beiden Seiten seriell nacheinander aus.)

Mehrere Befehle können in einer einzigen Befehlszeile mit dem Befehlstrennzeichen && verarbeitet werden .

Bei Verwendung dieses Trennzeichens in der Windows- cmd.exe muss jeder Befehl erfolgreich ausgeführt werden, damit die folgenden Befehle ausgeführt werden. Zum Beispiel:

C:\>CommandA && CommandB && CommandC

Im obigen Beispiel wird CommandB nur ausgeführt, wenn CommandA erfolgreich abgeschlossen wird, und die Ausführung von CommandC hängt vom erfolgreichen Abschluss von CommandB ab . Um nachfolgende Befehle zu verarbeiten, auch wenn der vorherige Befehl einen Fehler erzeugt, sollte das Befehlstrennzeichen & verwendet werden. Zum Beispiel:

C:\>CommandA & CommandB & CommandC

Unter Windows XP oder höher beträgt die maximale Länge der Zeichenfolge, die an der Eingabeaufforderung verwendet werden kann, 8191 Zeichen. In früheren Versionen wie Windows 2000 oder Windows NT 4.0 beträgt die maximale Länge der Zeichenfolge 2047 Zeichen. Dieser Grenzwert umfasst die Befehlszeile, einzelne Umgebungsvariablen , die von anderen Prozessen geerbt werden , und alle Umgebungsvariablenerweiterungen.

Für folgende Sonderzeichen sind Anführungszeichen erforderlich :

& < > [ ] { } ^ = ; ! ' + , ` ~ [white space]

Interne Befehle

OS/2

OS/2-Fenster (cmd.exe) unter Microsoft OS/2 Version 1.3

Im Folgenden finden Sie eine Liste der internen cmd.exe- Befehle von Microsoft OS/2 :

Windows NT-Familie

cmd.exe unter Windows 7

Die folgende Liste interner Befehle wird von cmd.exe unter Windows NT und höher unterstützt:

Windows CE

Pocket CMD v 3.0 (cmd.exe) unter Windows CE 3.0

Die folgende Liste von Befehlen wird von cmd.exe unter Windows CE .NET 4.2, Windows CE 5.0 und Windows Embedded CE 6.0 unterstützt:

  • attrib
  • Anruf
  • CD
  • chdir
  • cls
  • Kopieren
  • Datum
  • del
  • dir
  • Echo
  • löschen
  • Ausfahrt
  • gehe zu
  • Hilfe
  • wenn
  • md
  • mkdir
  • Bewegung
  • Weg
  • Pause
  • prompt
  • pwd
  • rd
  • rem
  • ren
  • umbenennen
  • rmdir
  • einstellen
  • Schicht
  • Anfang
  • Zeit
  • Titel
  • Typ

Darüber hinaus ist der net- Befehl als externer Befehl verfügbar , der in \Windows\net.exe gespeichert ist .

ReactOS

Eingabeaufforderung (cmd.exe) unter ReactOS

Die ReactOS-Implementierung umfasst die folgenden internen Befehle:

  • ?
  • alias
  • verband
  • Signalton
  • Anruf
  • CD
  • chdir
  • Auswahl
  • cls
  • Farbe
  • Kopieren
  • ctty
  • Datum
  • del
  • löschen
  • verzögern
  • dir
  • dirs
  • Echo
  • Echos
  • Echoerr
  • Echoserr
  • endlokal
  • löschen
  • Ausfahrt
  • zum
  • kostenlos
  • gehe zu
  • Geschichte
  • wenn
  • Erinnerung
  • md
  • mkdir
  • mklink
  • Bewegung
  • Weg
  • Pause
  • popd
  • prompt
  • geschoben
  • rd
  • rmdir
  • rem
  • ren
  • umbenennen
  • ersetzen
  • Bildschirm
  • einstellen
  • setlocal
  • Schicht
  • Anfang
  • Zeit
  • Timer
  • Titel
  • Typ
  • ver
  • verifizieren
  • vol

Vergleich mit COMMAND.COM

Unter Windows ist cmd.exe größtenteils mit COMMAND.COM kompatibel , bietet jedoch die folgenden Erweiterungen darüber:

  • Detailliertere Fehlermeldungen als das pauschale " Bad command or file name " (bei fehlerhaften Befehlen) von COMMAND.COM . In OS/2 werden Fehler in der gewählten Systemsprache gemeldet, deren Text aus den Systemmeldungsdateien entnommen wird. Der HELP - Befehl kann dann mit der Fehlermeldung Nummer ausgegeben werden , um weitere Informationen zu erhalten.
  • Unterstützt die Verwendung von Pfeiltasten zum Scrollen durch den Befehlsverlauf. (Unter DOS war diese Funktion nur unter DR DOS (über HISTORY ) und später über eine externe Komponente namens DOSKEY verfügbar .)
  • Fügt Befehlszeilenvervollständigung für Datei- und Ordnerpfade hinzu.
  • Behandelt das Caret- Zeichen ( ^ ) als Escape-Zeichen ; das darauf folgende Zeichen ist wörtlich zu nehmen. In cmd.exe und COMMAND.COM gibt es Sonderzeichen (zB " < ", " > " und "|"), die das Verhalten des Kommandozeilenprozessors verändern sollen. Das Caret-Zeichen zwingt den Befehlszeilenprozessor, sie wörtlich zu interpretieren.
  • Unterstützt die verzögerte Variablenexpansion mit SETLOCAL EnableDelayedExpansion, wodurch Variablenwerte zur Laufzeit berechnet werden können, anstatt während des Parsens des Skripts vor der Ausführung (Windows 2000 und höher), wodurch DOS-Idiome behoben werden, die die Verwendung von Kontrollstrukturen schwierig und komplex gemacht haben. Die Erweiterungen können deaktiviert werden, wodurch ein strengerer Kompatibilitätsmodus bereitgestellt wird.

Interne Befehle wurden ebenfalls verbessert:

  • Der DELTREE- Befehl wurde als Teil seines /S- Schalters mit dem RD- Befehl zusammengeführt .
  • Die Befehle SetLocal und EndLocal begrenzen den Umfang der Änderungen an der Umgebung. Änderungen an der Befehlszeilenumgebung nach SetLocal- Befehlen sind lokal in der Batchdatei . Der Befehl EndLocal stellt die vorherigen Einstellungen wieder her.
  • Der Call- Befehl erlaubt Unterprogramme innerhalb einer Batch-Datei. Der Call- Befehl in COMMAND.COM unterstützt nur das Aufrufen externer Batchdateien.
  • Dateinamen-Parser-Erweiterungen für den Set- Befehl sind mit der C-Shell vergleichbar .
  • Der Befehl Set kann eine Ausdrucksauswertung durchführen .
  • Eine Erweiterung des For- Befehls unterstützt das Parsen von Dateien und beliebigen Sets zusätzlich zu Dateinamen.
  • Die neuen PushD- und PopD- Befehle ermöglichen den Zugriff auf vergangene navigierte Pfade ähnlich den "Vorwärts"- und "Zurück"-Schaltflächen in einem Webbrowser oder Datei-Explorer .
  • Der bedingte IF- Befehl kann zusätzlich zu Zeichenfolgenvergleichen , bei denen die Groß-/Kleinschreibung beachtet wird, Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung sowie numerische Gleichheits- und Ungleichheitsvergleiche durchführen. (Dies war in DR-DOS verfügbar, aber nicht in PC-DOS oder MS-DOS .)

Siehe auch

Verweise

Weiterlesen

Externe Links