Frage Der Befehl cd in der Windows-Befehlszeile kann nicht zu D: \ navigieren


Das kann eine dumme Frage sein, und ich denke, ich habe woanders nach der Antwort gesucht ... Könnte ein Pfadproblem sein, aber wenn ich die Befehlszeile öffne und aus der C:\>:

cd D:\

Ich komme nicht zum D-Laufwerk. Auch wenn ich Folgendes tippe:

cd D:\<folder name>

Das command.exe wird die Zeile mit der Tab-Taste automatisch vervollständigen, damit sie weiß, wo ich bin. Es druckt einfach nicht, um das Ergebnis zu screenen oder mich tatsächlich dorthin zu bringen. Dieses Problem besteht auch für die Netzlaufwerke.

Nun, wenn ich das benutze chdir (cd) Befehl wie folgt:

chdir D: oder cd d:

Ich bekomme den Ausdruck von der D:\ unter dem Befehl, aber es sagt immer noch, ich bin in der C:\.

Ich fühle mich, als würde ich etwas Einfaches vermissen.


189
2018-04-27 15:35


Ursprung


Ich habe benutzt pushd anstelle von cd so ziemlich überall, weil es sich in Situationen wie diesem viel besser verhält. - Goyuix
Siehe diese Antwort "cd / d D:" superuser.com/a/135239/78897 - Pacerier
Probieren Sie es aus: cd / d d: - DevWL


Antworten:


Zurück zu den Tagen von DOS gibt es ein separates "aktuelles Verzeichnis" für jedes Laufwerk. cd D:\foldername Ändert das aktuelle Verzeichnis von D: in den angegebenen Ordnernamen, ändert jedoch nicht die Tatsache, dass Sie noch an der Arbeit arbeiten C: Fahrt.

Was Sie wollen, ist einfach:

D:

Hier können Sie sehen, wie das "separate aktuelle Verzeichnis für jedes Laufwerk" funktioniert:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>

272
2018-04-27 15:38



In einer Situation "schnellste Waffe im Westen" ist der Gewinner derjenige, der die beste Erklärung abgibt. +1, und ich lösche meine ähnliche Antwort. - Gnoupi
Auch meine gelöscht. Keine Notwendigkeit für das zusätzliche Durcheinander. - th3dude
-1 a) Sie haben nicht darauf hingewiesen, dass die cd e:\software Linie hat nichts getan. Als ob du einen Phantom-CD-Befehl drin steckst Warum? Um ihn denken zu lassen, dass du CD benutzt hast, als du es nicht warst? und b) wie in aller Welt kannst du nicht erwähnen /dCDing zu einem bestimmten Verzeichnis auf einem anderen Laufwerk aktivieren Er hat gesagt mit dem Befehl cd Es ist also gut, dass Sie darauf hingewiesen haben, wie es ohne den CD-Befehl gemacht werden kann d:<ENTER>, sollten Sie auch für den CD-Befehl erwähnt haben cd /d d: oder cd /d d:\blah - barlop
@barlop Der cd E:\software tut nichts. Es ändert das aktuelle Verzeichnis der E-Partition zum software Ordner, was demonstriert wird, wenn schließlich mit E auf die Partition wechseln E:. Guter Vorschlag mit CD / d obwohl. - miyalys
@miyalys interessant und toller Punkt - barlop


Es hat getan arbeiten, wie der Befehl ausgeführt wird.

Du weißt einfach nicht, wie es eigentlich funktionieren soll.

Sie verwenden kein Unix- oder Linux-Shell-Programm. Das cd Befehl in Microsoft-Befehlsinterpreter verhält sich nicht wie der cd Befehle in solchen Shells tun. Es verhält sich etwas anders. Bestimmtes, Es ändert nicht immer das Verzeichnis. In Unix- und Linux-Shells cd legt nur das Arbeitsverzeichnis fest. Im Befehlsinterpreter von Microsoft, cd fragt es manchmal ab. Es gibt kein separates pwd Befehl, so cd macht zwei Jobs.

Wenn Sie keine Argumente angeben oder ein Argument, das nur ein Laufwerksbuchstabe und ein Doppelpunkt ohne Pfad ist, dann Es meldet das aktuelle Verzeichnis, anstatt es zu ändern. Wenn Sie keine Argumente angeben, wird das aktuelle Verzeichnis des aktuellen Laufwerks des Befehlsinterpreterprozesses angezeigt. Wenn Sie nur einen Laufwerksbuchstaben und einen Doppelpunkt als Argument angeben, meldet es das aktuelle Verzeichnis des Laufwerks des Befehlsinterpreterprozesses. Jedes Laufwerk hat sein eigenes aktuelles Verzeichnis im Befehlsinterpreter. (Dies ist eine Fiktion, die von den Laufzeitbibliotheken für Implementierungen verschiedener Programmiersprachen von Microsoft und mehreren anderen Herstellern verwaltet wird. Win32 selbst funktioniert nicht auf diese Weise.)

Also als du es gabst d: als ein Argument, berichtete es das aktuelle Verzeichnis des Befehlsinterpreterprozesses 'des aktuellen Verzeichnisses auf Laufwerk D, das zufällig war D:\. Wenn Sie überhaupt keine Argumente gegeben hätten, hätte es sich gemeldet C:\ für dich.

Wenn du willst cd Befehl an immer im eingestellten Modus sein und nie im Abfragemodus sein Sie müssen die hinzufügen /D Option dazu. Dies zwingt den Befehl, sich immer im festgelegten Modus zu befinden, und erweitert ihn auch so, dass er sowohl das aktuelle Laufwerk als auch das aktuelle Verzeichnis des Laufwerks ändert. (Mit anderen Worten, es funktioniert mehr wie die zugrunde liegende Win32-API.)

So zum Beispiel die Befehlszeile

cd / d d:
 wechselt das Verzeichnis in das aktuelle Verzeichnis auf Laufwerk D und ändert auch das aktuelle Laufwerk in Laufwerk D.

Wenn Sie den aktuellen Status des Befehlsinterpreterprozesses ändern möchten, wird der cd Befehl ist nicht der Weg. Sie tun dies, indem Sie einfach den Laufwerksbuchstaben und einen Doppelpunkt eingeben:

d:

Weiterführende Literatur

  • JP Software (2011). CD / CHDIR TCC Online-Hilfe.
  • Microsoft Corporation (2001). Chdir (CD). TechNet Windows XP Befehlszeilenreferenz A-Z.

74
2018-01-19 14:17



Verwandter Beitrag von Raymond Chen. - Daniel Beck♦
Nicht ganz richtig. Wenn Sie tun cd d:\  Es ändert das Arbeitsverzeichnis auf d:. Wenn Sie tun d:\  danach wird es sein d:\ . Wenn Sie tun cd d:\something\something Nichts wird zuerst passieren. Aber wenn du es tust d:\  danach wird dein Weg wieder sein d:\something\something"! - sinni800
Keine davon widerspricht dem, was oben in irgendeiner Weise geschrieben wurde, sinni800 (Abgesehen davon, dass Sie die Syntax zum Ändern des aktuellen Laufwerks falsch bekommen, das heißt, aber ich werde das übersehen). Ich habe keine Diskussion darüber eingeschlossen, was passiert, wenn man einen Pfadnamen in einem Argument angibt, weil (a) das nicht die Frage ist und (b) es im weiteren Lesen ist. - JdeBP
Nein, sind wir nicht. Es wäre falsch, hier von Partitionen anstatt von Laufwerken zu sprechen. user unknown. Zunächst einmal sind Partitionen nicht identisch mit Volumes und Laufwerksbuchstaben werden Volumes und nicht Partitionen zugeordnet. Und wenn man auf dieser Ebene der Abstraktion spricht, Laufwerksbuchstabe und aktuelle Fahrt sind die gebräuchlichen Begriffe, wie sie hier verwendet werden, in der weiteren angegebenen Schrift, und sogar in der cd /? Hilfstext. - JdeBP
Ich habe diesen Befehl seit mindestens 20 Jahren benutzt und wusste das nie. - Chris Ballance


Angst, das ist falsch. Es ist wahr aus den Tagen von DOS, aber die Befehlszeile in Windows NT und höher ist nicht DOS. In der Befehlszeile, die heute jeder benutzt, haben Sie den Schalter / D. Die Option / d ändert das aktuelle Verzeichnis des angegebenen Laufwerks und wechselt in dieses Verzeichnis. Der Schalter / d muss vor dem Pfad angegeben werden. Beispielsweise:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

windows command prompt cd


42
2018-04-27 16:28



+1, weil ich etwas Neues gelernt habe, aber ich glaube nicht, dass irgendetwas, was ich geschrieben habe, falsch ist. - coneslayer
Ihre Antwort ist auch korrekt, Multiverse IT, aber Coneslayer war nicht falsch. Danke für Ihr Bemühen. Ich habe in dieser Frage zwei tolle Tricks gelernt. - nicorellius
Aus meiner Sicht "Was du willst ist einfach ... D:" ist falsch. Ja, es funktioniert und ist eine gültige Methode, um das Ziel zu erreichen, aber es ist streng genommen nicht das, was er wollen sollte. Außerdem bedeutet die Art, wie der Kommentar formuliert ist, dass Sie CD nicht dazu verwenden können - diese Implikation ist falsch. - Multiverse IT
Sein Hauptproblem ist "Ich kann nicht zum D-Laufwerk kommen.". Daher ist die andere Antwort richtig. Ihre Lösung braucht nur einen Schritt weniger (was gut ist). Es macht den anderen nicht falsch. - Gnoupi
Hmm, "was er wollen soll." Klingt eher mutmaßlich ;-) - nicorellius


CD steht für Change DVerzeichnis und nicht Laufwerk ändern. Also würde es nicht zu D wechseln: so. Um dies zu erreichen, müssen Sie einfach den Laufwerksbuchstaben eingeben

z.B.

d:


19
2018-01-19 07:58



cd / D D: ändert Laufwerke und Verzeichnisse ... - Michael S.
Aber d: ist eine Partition, kein Laufwerk. - user unknown
@userunknown In der Ära Dos 1.0, als die Shell entwickelt wurde, gab es nur Disketten, die nicht partitioniert werden konnten. Die anfängliche Hardrive-Unterstützung galt nur für die primäre (erste) Partition auf einem Laufwerk. Erweiterte Partition Unterstützung wurde erst später hinzugefügt. - Dan Neely
Ich sehe weder ein MS-DOS 1.0-Tag noch 1.0. Möglicherweise können Sie ein Laufwerk nicht mit MS-DOS-Programmen partitionieren, aber Sie können ein MS-DOS auf einem partitionierten Laufwerk installieren. Ich denke, MS-DOS ist nicht mehr unterstützt, und das Tag ist da, weil viele Benutzer glauben, dass cmd.exe und MS-DOS dasselbe bedeutet, was ein weiterer Fehler ist. Apropos: MS-DOS 1.0 wurde nie veröffentlicht. - user unknown
@userunknown Die Entwurfsentscheidungen stammen aus den ersten Versionen von DOS. Ein verändertes Verhalten hätte ältere Programme zerstört (siehe Daniel Becks Kommentar unten). PS; laut Wikipedia wurde MS DOS 1.x veröffentlicht. - Dan Neely


Das Arbeitsverzeichnis in cmd.exe wird auf einem verwaltet volume-by-volume Basis; das Arbeitsverzeichnis für die C: Laufwerk unterscheidet sich von dem Arbeitsverzeichnis für die D: Fahrt.

Wenn Sie nur einen Laufwerksbuchstaben an übergeben cd, wird das Arbeitsverzeichnis für das angegebene Laufwerk gedruckt.

In Ihrem Fall ist das Arbeitsverzeichnis des D: Laufwerk ist das Volume-Root selbst, D:\.

So ändern Sie Volumes von C: zu D: Geben Sie einfach den Laufwerksbuchstaben ein:

C:\>D:
D:\>

9
2018-01-19 08:12



cd / D D: ändert Laufwerke und Verzeichnisse ... - Michael S.
Partitionen werden einem Laufwerkbuchstaben zugeordnet und sind praktisch identisch mit einem Laufwerk. Sie können auch ein Verzeichnis oder eine Freigabe einem Laufwerk zuordnen, und sie verhalten sich gleich. - Marty Fried


Benutzen CD / D D: um dies zu tun. Sie können auch Pfade angeben.


8
2018-01-19 13:33





Wenn Sie das Laufwerk in einer DOS-Eingabeaufforderung ändern möchten, müssen Sie einfach schreiben:

[Drive Letter]:

Wenn Sie beispielsweise zum Laufwerk D: \ wechseln möchten, müssen Sie nur Folgendes eingeben in einer Eingabeaufforderung:

D:

5
2018-01-19 15:52



Sie ändern die Partition mit [Drive Letter]:, glaub mir oder probier es aus! - user unknown
Oh wow, das macht die Sache viel einfacher. Ich vergesse immer das /d das macht das Umschalten viel schneller. - Mateen Ulhaq


pushd funktioniert auch, wenn Sie zum Unterverzeichnis fahren müssen, z. D:\Tests\Logs.

Benutze es einfach so:

pushd D:\Tests\Logs

Wenn Sie zur vorherigen Verzeichnisverwendung zurückkehren möchten popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>

2
2017-07-27 21:59





Während Sie in der Symbolleiste suchen und suchen nach cmd oder indem Sie Windows Alle App Auswahl Befehlszeile wählen, dann dauert es zu einer anderen Eingabeaufforderung. Versuchen Sie stattdessen, die Windows-Taste + R zu drücken und nach cmd zu suchen, um C:> zu fahren. Von dort können Sie zu D:> oder wo immer Sie möchten, navigieren


0
2018-06-23 22:24