Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Startet eine neue Instanz des Befehlsdolmetschers, cmd.exe. Wenn sie ohne Parameter verwendet wird, cmd
werden die Versions- und Copyrightinformationen des Betriebssystems angezeigt.
Hinweis
Benutzer, die erweiterte Funktionen suchen, werden ermutigt , PowerShell für erweiterte Skripts und Automatisierung zu erkunden.
Syntax
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Die Parameter
Parameter | BESCHREIBUNG |
---|---|
/c | Führt den angegebenen Befehl aus <string> und beendet dann den Befehlsprozessor. |
/k | Führt den angegebenen Befehl aus <string> und hält den Befehlsprozessor aktiv. |
/s | Bei Verwendung mit /c oder /k werden spezielle Nichtanalyseregeln ausgelöst, die die ersten und letzten Anführungszeichen (" ) um den <string> Rest des Befehls unverändert entfernen. |
/q | Deaktiviert Echo. |
/d | Deaktiviert die Ausführung von AutoRun-Befehlen. |
/ein | Formatiert die Befehlsausgabe als American National Standards Institute (ANSI). |
/u | Formatiert die Befehlsausgabe als Unicode. |
/t:{<b><f> | <f> } |
Legt die Hintergrundfarben (b) und Vordergrund (f) fest. |
/e:on | Aktiviert Befehlserweiterungen. |
/e:off | Deaktiviert Befehlserweiterungen. |
/f:on | Aktiviert den Abschluss von Datei- und Verzeichnisnamen. |
/f:off | Deaktiviert den Abschluss von Datei- und Verzeichnisnamen. |
/v:on | Aktiviert verzögerte Umgebungsvariablenerweiterung. |
/v:off | Deaktiviert die verzögerte Erweiterung der Umgebungsvariable. |
<string> |
Gibt den Befehl an, den Sie ausführen möchten. |
/? | Zeigt die Hilfe an der Eingabeaufforderung an. |
In der folgenden Tabelle sind gültige Hexadezimalziffern aufgeführt, die Sie als Werte für <b>
und <f>
:
Wert | Farbe |
---|---|
0 | Schwarz |
1 | Blau |
2 | Grün |
3 | Wasser |
4 | Rot |
5 | Lila |
6 | Gelb |
7 | Weiß |
8 | Grau |
9 | Hellblau |
ein | Lichtgrün |
b | Helles Aqua |
c | Hellrot |
d | Hell lila |
e | Hellgelb |
f | Hellweiß |
Bemerkungen
Verwenden Sie den Pipe(
|
)-Operator, um die Befehlsausgabe an die Eingabe eines anderen Befehls umzuleiten. Beispiel:<command1> | <command2>
Der Operator double pipe (
||
) wird nur verwendet, um den nächsten Befehl auszuführen, wenn der vorherige Befehl fehlschlägt. Im angegebenen Szenario wird nur ausgeführt,command2
wenncommand1
ein Fehler auftritt. Beispiel:<command1> || <command2>
Um die Befehlsausgabe an eine Datei umzuleiten, verwenden Sie das eckige eckige Klammerzeichen
>
. Beispiel:<command1> > <file1.txt>
Verwenden Sie
&
zum Gruppieren oder Schachteln mehrerer Befehle . Beispiel:<command1> & <command2>
Wenn Sie mehrere Befehle verwenden
<string>
möchten, trennen Sie sie durch das Befehlstrennzeichen&&
. Beispiel:<command1> && <command2> && <command3>
Hinweis
Wenn Sie diesen Befehl verwenden
&&
, wird der folgende&&
Befehl nur ausgeführt, wenn der vorherige Befehl erfolgreich abgeschlossen ist.Cmd
führt den ersten Befehl aus und fährt nur dann mit dem nächsten fort, wenn der vorherige Befehl erfolgreich war. Andernfalls werden die nachfolgenden Befehle nicht ausgeführt, wenn der vorherige Befehl fehlschlägt.Bei den Kaufmännischen Und-Zeichen
&
,|
Klammern und Klammern handelt es sich um Sonderzeichen, denen das Escapezeichen( )
oder Anführungszeichen^
vorangestellt werden muss, wenn Sie sie als Argumente übergeben.Wenn ein Befehl einen Vorgang erfolgreich abgeschlossen hat, wird ein Exitcode von Null (0) oder kein Exitcode zurückgegeben.
Wenn der Verzeichnispfad, die Dateien oder informationen, die Sie bereitstellen, Leerzeichen enthalten, müssen Sie doppelte Anführungszeichen (
" "
) um den Text verwenden, z"Computer Name"
. B. . Beispiel:mkdir Test && mkdir "Test 2" && move "Test 2" Test
Sie müssen Anführungszeichen um die folgenden Sonderzeichen setzen: & <> [ ] | { } ^ = ; ! ' + , ' ~ [Leerzeichen].
Wenn Sie die Prozesse angeben
/c
oder,/k
werden der Rest voncmd
, und die Anführungszeichen nur beibehalten, wenn alle folgenden Bedingungen erfüllt<string>
sind:- Sie verwenden
/s
nicht auch . - Sie verwenden genau eine Reihe von Anführungszeichen.
- Sie verwenden keine Sonderzeichen innerhalb der Anführungszeichen, z. B. : & <> ( ) @ ^ |.
- Sie verwenden ein oder mehrere Leerzeichen innerhalb der Anführungszeichen.
- Die
<string>
in Anführungszeichen befindlichen Anführungszeichen sind der Name einer ausführbaren Datei.
Wenn die vorherigen Bedingungen nicht erfüllt sind, wird das erste Zeichen verarbeitet, um zu überprüfen,
<string>
ob es sich um ein öffnende Anführungszeichen handelt. Wenn das erste Zeichen ein öffnende Anführungszeichen ist, wird es zusammen mit dem schließenden Anführungszeichen entfernt. Jeder Text, der auf die schließende Anführungszeichen folgt, wird beibehalten.- Sie verwenden
Wenn Sie nicht angeben
/d
,cmd
wird nach den folgenden Registrierungsunterschlüsseln gesucht:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Wenn ein oder beide Registrierungsunterschlüssel vorhanden sind, werden sie vor allen anderen Variablen ausgeführt.
Sie können Befehlserweiterungen für einen bestimmten Prozess mithilfe von
/e:off
. Sie können Erweiterungen für allecmd
Befehlszeilenoptionen auf einem Computer oder einer Benutzersitzung aktivieren oder deaktivieren, indem Sie die folgenden REG_DWORD Werte festlegen:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Legen Sie den REG_DWORD Wert entweder auf 0×1 (aktiviert) oder auf 0×0 (deaktiviert) in der Registrierung fest, indem Sie Regedit.exeverwenden. Vom Benutzer angegebene Einstellungen haben Vorrang vor Computereinstellungen, und Befehlszeilenoptionen haben Vorrang vor Registrierungseinstellungen.
Vorsicht
Durch eine fehlerhafte Bearbeitung der Registrierung können ernsthafte Systemschäden verursacht werden. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie alle wichtigen Computerdaten sichern.
Wenn Sie Befehlserweiterungen aktivieren, sind die folgenden Befehle betroffen:
assoc
call
-
chdir
(cd
) color
-
del
(erase
) endlocal
for
ftype
goto
if
-
mkdir
(md
) popd
prompt
pushd
set
setlocal
shift
-
start
(enthält auch Änderungen an externen Befehlsprozessen)
Wenn Sie eine verzögerte Erweiterung der Umgebungsvariable aktivieren, können Sie das Ausrufezeichen (
!
) verwenden, um den Wert einer Umgebungsvariable zur Laufzeit zu ersetzen.Der Abschluss von Datei- und Verzeichnisnamen ist standardmäßig nicht aktiviert. Sie können den Dateinamenabschluss für einen bestimmten Prozess des
cmd
Befehls aktivieren oder deaktivieren./f:{on | off}
Sie können den Abschluss von Datei- und Verzeichnisnamen für alle Prozesse des
cmd
Befehls auf einem Computer oder für eine Benutzeranmeldungssitzung aktivieren oder deaktivieren, indem Sie die folgenden REG_DWORD Werte festlegen:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Um den REG_DWORD Wert festzulegen, führen Sie Regedit.exe aus, und verwenden Sie den Hexadezimalwert eines Steuerelementzeichens für eine bestimmte Funktion (z. B. 0×9 ist TAB und 0×08 ist RÜCKTASTE). Verwenden Sie den [0×20]-Wert für Leerzeichen, da es sich nicht um ein gültiges Steuerelementzeichen handelt. Vom Benutzer angegebene Einstellungen haben Vorrang vor Computereinstellungen, und Befehlszeilenoptionen haben Vorrang vor Registrierungseinstellungen.
Vorsicht
Durch eine fehlerhafte Bearbeitung der Registrierung können ernsthafte Systemschäden verursacht werden. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie alle wichtigen Computerdaten sichern.
Wenn Sie den Abschluss von Datei- und Verzeichnisnamen mithilfe von
/f:on
STRG+D aktivieren, verwenden Sie STRG+D für den Abschluss des Verzeichnisnamens und STRG+F für den Abschluss des Dateinamens. Der einzige Unterschied zwischen den Tastenkombinationen STRG+D und STRG+F besteht darin, dass STRG+D nur verzeichnisnamen entspricht und STRG+F sowohl Datei- als auch Verzeichnisnamen entspricht. Wenn Sie den Abschluss von Datei- und Verzeichnisnamen für die integrierten Verzeichnisbefehlecd
odermd
rd
die Verzeichnisvervollständigung verwenden, wird davon ausgegangen.Durch Drücken von STRG+D oder STRG+F wird der Datei- und Verzeichnisname abgeschlossen. Diese Tastenkombinationsfunktionen fügen ein Wildcardzeichen an
<string>
, wenn eins nicht vorhanden ist, erstellen Sie eine Liste der Pfade, die übereinstimmen, und zeigen Sie dann den ersten übereinstimmenden Pfad an. Wenn keine der Pfade übereinstimmen, ändert sich die Anzeige nicht durch die Funktion zum Abschließen von Datei- und Verzeichnisnamen.- Um durch die Liste der übereinstimmenden Pfade zu navigieren, drücken Sie wiederholt STRG+D oder STRG+F .
- Um rückwärts durch die Liste zu navigieren, drücken Sie die UMSCHALTTASTE und STRG+D oder STRG+F gleichzeitig.
- Um die gespeicherte Liste der übereinstimmenden Pfade zu verwerfen und eine neue Liste zu generieren, bearbeiten
<string>
Und drücken Sie STRG+D oder STRG+F. - Wenn Sie zwischen STRG+D und STRG+F wechseln, wird die gespeicherte Liste der übereinstimmenden Pfade verworfen, und eine neue Liste wird generiert.
Der Abschluss von Datei- und Verzeichnisnamen verarbeitet Dateinamen ordnungsgemäß, die Leerzeichen oder Sonderzeichen enthalten, wenn Sie Anführungszeichen um den übereinstimmenden Pfad setzen.
Wenn Sie den Abschluss von Datei- und Verzeichnisnamen innerhalb
<string>
verarbeiten, wird an der Stelle, an<string>
der der Abschluss verarbeitet wurde, ein Teil des Pfads rechts vom Cursor verworfen.
Verwenden von Umgebungsvariablen
Die cmd
Umgebung der Befehlsshell wird durch Variablen definiert, die das Verhalten der Befehlsshell und des Betriebssystems bestimmen. Sie können das Verhalten der Befehlsshell-Umgebung oder der gesamten Betriebssystemumgebung definieren, indem Sie zwei Typen von Umgebungsvariablen, System und lokal verwenden. Systemumgebungsvariablen definieren das Verhalten der globalen Betriebssystemumgebung. Lokale Umgebungsvariablen definieren das Verhalten der Umgebung der aktuellen Instanz von cmd
.
Nur Benutzer mit Administratorrechten können Systemvariablen ändern. Diese Variablen werden am häufigsten in Anmeldeskripts verwendet. Lokale Umgebungsvariablen sind nur verfügbar, wenn der Benutzer, für den er erstellt wurde, am Computer angemeldet ist. Lokale Variablen, die in der HKEY_CURRENT_USER Struktur festgelegt sind, sind nur für den aktuellen Benutzer gültig, definieren jedoch das Verhalten der globalen Betriebssystemumgebung.
In der folgenden Liste werden die verschiedenen Variablentypen in absteigender Reihenfolge der Rangfolge beschrieben:
- Integrierte Systemvariablen.
- In der HKEY_LOCAL_MACHINE Struktur gefundene Systemvariablen.
- Lokale Variablen in der HKEY_CURRENT_USER Struktur gefunden.
- Alle Umgebungsvariablen und Pfade, die in der Autoexec.bat Datei festgelegt sind.
- Alle Umgebungsvariablen und Pfade, die in einem Anmeldeskript (sofern vorhanden) festgelegt sind.
- Variablen, die interaktiv in einer Skript- oder Batchdatei verwendet werden.
In der Befehlsshell erbt jede Instanz cmd
die Umgebung der übergeordneten Anwendung. Daher können Sie die Variablen in der neuen cmd
Umgebung ändern, ohne dass sich dies auf die Umgebung der übergeordneten Anwendung auswirkt.
Sie können die Umgebungsvariablen in Ihrer Umgebung anzeigen, indem Sie einen der folgenden Befehle ausführen:
set
Get-ChildItem Env:
Festlegen von Umgebungsvariablen
Um eine Variable anzuzeigen, geben Sie Folgendes ein:
set <VariableName>
Um eine Variable hinzuzufügen, geben Sie Folgendes ein:
set <VariableName>=<value>
Um eine Variable zu löschen, geben Sie Folgendes ein:
set <VariableName>=
Sie können die meisten Zeichen als variable Werte verwenden, einschließlich Leerzeichen. Wenn Sie die Sonderzeichen <, >|, &, &oder ^verwenden, müssen Sie ihnen das Escapezeichen ^
oder doppelte Anführungszeichen voranstellen. Wenn Sie doppelte Anführungszeichen verwenden, werden sie als Teil des Werts eingeschlossen, da alles, das dem Gleichheitszeichen folgt, als Wert verwendet wird. Betrachten Sie die folgenden Beispiele:
Um den Variablenwert New&Name
zu erstellen, geben Sie Folgendes ein:
set <VariableName>=New^&Name
Um den Variablenwert "New&Name"
zu erstellen, geben Sie Folgendes ein:
set <VariableName>="New&Name"
Wenn Sie an der Eingabeaufforderung (ohne karat set <VariableName>=New&Name
oder doppelte Anführungszeichen) eingeben ^
, wird möglicherweise die folgende Fehlermeldung angezeigt:
"'Name' is not recognized as an internal or external command, operable program or batch file."
Bei Variablennamen wird die Groß-/Kleinschreibung nicht beachtet. Zeigt die Variable jedoch genau so an, set
wie Sie sie eingegeben haben. Sie können Groß- und Kleinbuchstaben in Ihren Variablennamen kombinieren, um ihren Code besser lesbar zu machen, z. B. "UserName".
Hinweis
- Die maximale Größe einzelner Umgebungsvariablen beträgt 8.192 Byte.
- Die maximale Gesamtgröße für alle Umgebungsvariablen, einschließlich Namen, Werten und Gleichheitszeichen, beträgt 65.536 Zeichen für einen Prozess.
Ersetzen von Umgebungsvariablenwerten
Um Variablenwerte in der Befehlszeile oder Skripts zu ersetzen, schließen Sie den Variablennamen in Prozentzeichen ein (%VariableName%). Dadurch kann cmd
anstelle von Literaltext auf den Wert der Variablen verwiesen werden. Wenn ein Skript ausgeführt wird, cmd
werden Instanzen der Variablen durch ihren Wert ersetzt. Beispielsweise ersetzt die Verwendung von %USERNAME% in einem Skript automatisch den tatsächlichen Benutzernamen. Variablenersetzung ist nicht rekursiv; cmd
Überprüft Variablen nur einmal.