Mögliches Duplikat:
Bei Verwendung des Befehls „cd“ in der Windows-Eingabeaufforderung ist die Navigation zu D:\ nicht möglich.
Jedes Mal, wenn ich in einer Windows-Eingabeaufforderung den Verzeichniskontext auf ein anderes Laufwerk (D, E, F oder was auch immer) ändern möchte, muss ich "Drive letter":\
den Befehl verwenden, um ihn tatsächlich zu ändern. Wenn ich es mit„cd-Befehl“bei cd H:\
mir genügt es, H:\ zu echoen und nichts zu tun:
Gibt es einen Grund für ein solches Verhalten? Ich meine, sollte cd command
das nicht funktionieren? Warum funktioniert es nicht?
Antwort1
Versuchen:
cd /d d:
/d
wechselt auch Laufwerksbuchstaben und Verzeichnisse, weitere Informationen finden Sie untercd /?
Antwort2
Der Grund, warum sich Windows so verhält, ist, dass sich DOS so verhalten hat.
Unter DOS hat jedes Laufwerk sein eigenes aktuelles Verzeichnis und der cd
Befehl ändert das aktuelle Verzeichnis auf einem Laufwerk. Wenn dies auch das aktuelle ist,fahren, dann ändert sich auch Ihr Arbeitsverzeichnis. Wenn Sie das aktuelle Laufwerk wechseln möchten, geben Sie einfach den Laufwerksbuchstaben als Befehl an.
Stellt fest, dass Windows nicht wirklicharbeitennicht mehr so - Sie haben immer nur ein aktuelles Verzeichnis - aber die Befehlsshell tut alles, um vorzutäuschen, dass es immer noch aktuelle Verzeichnisse pro Laufwerk gibt. Vermutlich dient dies dazu, die Kompatibilität mit vorhandenen DOS-Batchdateien zu wahren.
Der Grund, warum DOS auf diese Weise funktioniert, geht auf die frühesten Versionen von DOS und CP/M zurück. Die grausamen Details finden Sie aufRaymond Chens Blog.
Antwort3
Die direkte Antwort lautet: „Weil es nicht so geschrieben ist, dass es so funktioniert.“ Durch einfaches Eingeben D:
wird das gewünschte Ergebnis erzielt.
Interessanterweise wird durch die Eingabe cd D:\somedir
zwar das aktuelle Verzeichnis auf D: in \data geändert, die aktuelle Eingabeaufforderung wird jedoch nicht in D: geändert.