Sie wissen einfach nicht, wie es eigentlich funktionieren sollte.
Sie verwenden kein Unix- oder Linux-Shell-Programm. Der Befehl cd
im Befehlsinterpreter von Microsoft verhält sich nicht wie die Befehle cd
in solchen Shells. Er verhält sich etwas anders. Insbesondere wechselt er nicht immer das Verzeichnis. In Unix- und Linux-Shells setzt cd
immer nur das Arbeitsverzeichnis. In Microsofts Befehlsinterpreter fragt cd
manchmal das Arbeitsverzeichnis ab. Es gibt keinen separaten Befehl pwd
, also erledigt cd
zwei Aufgaben.
Wenn Sie ihm keine Argumente oder ein Argument geben, das nur ein Laufwerksbuchstabe und ein Doppelpunkt ohne Pfadangabe ist, dann meldet er das aktuelle Verzeichnis, anstatt es zu ändern. Wenn Sie keine Argumente angeben, meldet es das aktuelle Verzeichnis des aktuellen Laufwerks des Befehlsinterpreter-Prozesses. Wenn Sie ihm nur einen Laufwerksbuchstaben und einen Doppelpunkt als Argument geben, meldet es das aktuelle Verzeichnis des Befehlsinterpreter-Prozesses auf diesem Laufwerk. Jedes Laufwerk hat sein eigenes aktuelles Verzeichnis im Befehlsinterpreter. (Dies ist eine Fiktion, die von den Laufzeitbibliotheken für die Implementierungen verschiedener Programmiersprachen von Microsoft und mehreren anderen Herstellern gepflegt wird. Win32 selbst funktioniert nicht auf diese Weise)
Als Sie also d:
als Argument anführten, meldete es Ihnen das aktuelle Verzeichnis des Befehlsinterpreters auf Laufwerk D, das zufällig `D:##
Sie wissen einfach nicht, wie es eigentlich funktionieren sollte.
Sie verwenden kein Unix- oder Linux-Shell-Programm. Der Befehl cd
im Befehlsinterpreter von Microsoft verhält sich nicht wie die Befehle cd
in solchen Shells. Er verhält sich etwas anders. Insbesondere wechselt er nicht immer das Verzeichnis. In Unix- und Linux-Shells setzt cd
immer nur das Arbeitsverzeichnis. In Microsofts Befehlsinterpreter fragt cd
manchmal das Arbeitsverzeichnis ab. Es gibt keinen separaten Befehl pwd
, also erledigt cd
zwei Aufgaben.
Wenn Sie ihm keine Argumente oder ein Argument geben, das nur ein Laufwerksbuchstabe und ein Doppelpunkt ohne Pfadangabe ist, dann meldet er das aktuelle Verzeichnis, anstatt es zu ändern. Wenn Sie keine Argumente angeben, meldet es das aktuelle Verzeichnis des aktuellen Laufwerks des Befehlsinterpreter-Prozesses. Wenn Sie ihm nur einen Laufwerksbuchstaben und einen Doppelpunkt als Argument geben, meldet es das aktuelle Verzeichnis des Befehlsinterpreter-Prozesses auf diesem Laufwerk. Jedes Laufwerk hat sein eigenes aktuelles Verzeichnis im Befehlsinterpreter. (Dies ist eine Fiktion, die von den Laufzeitbibliotheken für die Implementierungen verschiedener Programmiersprachen von Microsoft und mehreren anderen Herstellern gepflegt wird. Win32 selbst funktioniert nicht auf diese Weise)
Als Sie also d:
als Argument anführten, meldete es Ihnen das aktuelle Verzeichnis des Befehlsinterpreters auf Laufwerk D, das zufällig war. Hätten Sie ihm überhaupt keine Argumente gegeben, hätte er Ihnen `C:##
Sie wissen einfach nicht, wie es eigentlich funktionieren sollte.
Sie verwenden kein Unix- oder Linux-Shell-Programm. Der Befehl cd
im Befehlsinterpreter von Microsoft verhält sich nicht wie die Befehle cd
in solchen Shells. Er verhält sich etwas anders. Insbesondere wechselt er nicht immer das Verzeichnis. In Unix- und Linux-Shells setzt cd
immer nur das Arbeitsverzeichnis. In Microsofts Befehlsinterpreter fragt cd
manchmal das Arbeitsverzeichnis ab. Es gibt keinen separaten Befehl pwd
, also erledigt cd
zwei Aufgaben.
Wenn Sie ihm keine Argumente oder ein Argument geben, das nur ein Laufwerksbuchstabe und ein Doppelpunkt ohne Pfadangabe ist, dann meldet er das aktuelle Verzeichnis, anstatt es zu ändern. Wenn Sie keine Argumente angeben, meldet es das aktuelle Verzeichnis des aktuellen Laufwerks des Befehlsinterpreter-Prozesses. Wenn Sie ihm nur einen Laufwerksbuchstaben und einen Doppelpunkt als Argument geben, meldet es das aktuelle Verzeichnis des Befehlsinterpreter-Prozesses auf diesem Laufwerk. Jedes Laufwerk hat sein eigenes aktuelles Verzeichnis im Befehlsinterpreter. (Dies ist eine Fiktion, die von den Laufzeitbibliotheken für die Implementierungen verschiedener Programmiersprachen von Microsoft und mehreren anderen Herstellern gepflegt wird. Win32 selbst funktioniert nicht auf diese Weise)
Als Sie also d:
als Argument anführten, meldete es Ihnen das aktuelle Verzeichnis des Befehlsinterpreters auf Laufwerk D, das zufällig `D:##
Sie wissen einfach nicht, wie es eigentlich funktionieren sollte.
Sie verwenden kein Unix- oder Linux-Shell-Programm. Der Befehl cd
im Befehlsinterpreter von Microsoft verhält sich nicht wie die Befehle cd
in solchen Shells. Er verhält sich etwas anders. Insbesondere wechselt er nicht immer das Verzeichnis. In Unix- und Linux-Shells setzt cd
immer nur das Arbeitsverzeichnis. In Microsofts Befehlsinterpreter fragt cd
manchmal das Arbeitsverzeichnis ab. Es gibt keinen separaten Befehl pwd
, also erledigt cd
zwei Aufgaben.
Wenn Sie ihm keine Argumente oder ein Argument geben, das nur ein Laufwerksbuchstabe und ein Doppelpunkt ohne Pfadangabe ist, dann meldet er das aktuelle Verzeichnis, anstatt es zu ändern. Wenn Sie keine Argumente angeben, meldet es das aktuelle Verzeichnis des aktuellen Laufwerks des Befehlsinterpreter-Prozesses. Wenn Sie ihm nur einen Laufwerksbuchstaben und einen Doppelpunkt als Argument geben, meldet es das aktuelle Verzeichnis des Befehlsinterpreter-Prozesses auf diesem Laufwerk. Jedes Laufwerk hat sein eigenes aktuelles Verzeichnis im Befehlsinterpreter. (Dies ist eine Fiktion, die von den Laufzeitbibliotheken für die Implementierungen verschiedener Programmiersprachen von Microsoft und mehreren anderen Herstellern gepflegt wird. Win32 selbst funktioniert nicht auf diese Weise)
Als Sie also d:
als Argument anführten, meldete es Ihnen das aktuelle Verzeichnis des Befehlsinterpreters auf Laufwerk D, das zufällig war. Hätten Sie ihm überhaupt keine Argumente gegeben, hätte er Ihnen gemeldet.
Wenn Sie wollen, dass der Befehl cd
immer im Set-Modus und nie im Abfrage-Modus ist, müssen Sie ihm die Option /D
hinzufügen. Dadurch wird der Befehl gezwungen, sich immer im Set-Modus zu befinden, und er wird außerdem so erweitert, dass er sowohl das aktuelle Laufwerk als auch das aktuelle Verzeichnis eines Laufwerks ändert. (Mit anderen Worten, es funktioniert eher so, wie es die zugrundeliegende Win32-API tatsächlich tut.)
So wird zum Beispiel die Befehlszeile
cd /d d:
d:
das Verzeichnis auf das aktuelle Verzeichnis auf Laufwerk D wechseln und auch das aktuelle Laufwerk auf Laufwerk D ändern.
Wenn Sie das aktuelle Laufwerk des Befehlsinterpreterprozesses anderweitig ändern wollen, ist der Befehl cd
nicht der richtige Weg. Sie tun dies, indem Sie einfach den Laufwerksbuchstaben und einen Doppelpunkt eingeben:
&001
Weiterführende Lektüre
- JP Software (2011). CD/CHDIR TCC-Online-Hilfe
- Microsoft Corporation (2001). CD/CHDIR . TechNet Windows XP Befehlszeilenreferenz A-Z.