Mit dem Befehl cd in der Windows-Befehlszeile kann nicht zu D: \ navigiert werden.

705458
nicorellius

Dies kann eine dumme Frage sein, und ich glaube, ich habe an anderer Stelle sah die Antwort zu finden ... könnte ein Pfad Problem sein, aber wenn ich öffnen Sie die Kommandozeile und Typ aus der C:\>:

cd D:\ 

Ich kann nicht zum D-Laufwerk gelangen. Auch wenn ich tippe:

cd D:\<folder name> 

Sie command.exefüllt die Zeile automatisch mit der Tabulatortaste aus, damit sie weiß, wo ich bin. Es wird einfach nicht gedruckt, um das Ergebnis zu überprüfen oder mich tatsächlich dorthin zu bringen. Dieses Problem besteht auch für die Netzlaufwerke.

Wenn ich den Befehl chdir( cd) wie folgt benutze :

chdir D: oder cd d:

Ich bekomme den Ausdruck D:\unter dem Befehl, aber es heißt immer noch, dass ich im bin C:\.

Ich habe das Gefühl, dass mir etwas Einfaches fehlt.

196
Ich habe "pushd" anstelle von "cd" fast überall verwendet, da es sich in solchen Situationen viel besser verhält. Goyuix vor 12 Jahren 0
Siehe diese Antwort "** cd / d D: **" http://superuser.com/a/135239/78897 Pacerier vor 9 Jahren 4
Versuchen Sie folgendes: cd / dd: DevWL vor 6 Jahren 1

9 Antworten auf die Frage

285
coneslayer

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

Was Sie wollen, ist einfach:

D: 

Hier können Sie sehen, wie die Sache "Separates aktuelles Verzeichnis für jedes Laufwerk" funktioniert:

C:\Users\coneslayer>e:  E:\>c:  C:\Users\coneslayer>cd e:\software  C:\Users\coneslayer>e:  e:\Software> 
Bei einer "schnellsten Waffe im Westen" gewinnt derjenige die beste Erklärung. +1, und ich lösche meine ähnliche Antwort. Gnoupi vor 14 Jahren 15
Meine auch gelöscht. Keine zusätzliche Unordnung. th3dude vor 14 Jahren 2
-1 a) Sie haben nicht darauf hingewiesen, dass die Zeile "cd e: \ software" nichts getan hat. Als ob Sie dort einen Phantom-CD-Befehl eingefügt hätten. Warum? Um ihn denken zu lassen, dass Sie CD benutzt haben, als Sie nicht waren? und b) wie um alles in der Welt können Sie nicht "/ d" erwähnen, das das CDing in ein bestimmtes Verzeichnis auf einem anderen Laufwerk ermöglicht. Er hat ** mit dem CD-Befehl ** gesagt. Es ist aber gut, dass Sie darauf hingewiesen haben, wie es ohne das CD-Befehl `d:`, sollten Sie für den CD-Befehl auch` cd / dd: `oder` cd / dd: \ blah` erwähnt haben barlop vor 7 Jahren 1
@barlop Die `cd E: \ software` tut nichts. Es wechselt das aktuelle Verzeichnis ** der E-Partition ** in den Ordner "Software". Dies wird demonstriert, wenn die E-Partition mit "E:" abgeschlossen wird. Guter Vorschlag mit CD / D. miyalys vor 7 Jahren 2
@miyalys interessant und toller Punkt barlop vor 7 Jahren 0
74
JdeBP

It did work, as the command is designed to work.

You simply don't know how it's actually supposed to work.

You're not using a Unix or Linux shell program. The cd command in Microsoft's command interpreter doesn't behave as the cd commands in such shells do. It behaves somewhat differently. In particular, it doesn't always change directory. In Unix and Linux shells, cd only ever sets the working directory. In Microsoft's command interpreter, cd sometimes queries it. There's no separate pwd command, so cd does two jobs.

If you give it no arguments, or an argument that is just a drive letter and a colon without a path, then it reports the current directory instead of changing it. If you give it no arguments, it reports the current directory of the current drive of the command interpreter process. If you give it only a drive letter and a colon as an argument, it reports the command interpreter process' current directory of that drive. Each drive has its own current directory in the command interpreter. (This is a fiction maintained by the run-time libraries for Microsoft's and several other vendors' implementations of various programming languages. Win32 itself doesn't work this way.)

So when you gave it d: as an argument, it reported the the command interpreter process' current directory on drive D to you, which happened to be D:\. If you'd given it no arguments at all, it would have reported C:\ to you.

If you want the cd command to always be in set mode and never be in query mode you need to add the /D option to it. This forces the command to always be in set mode, and also extends it so that it changes the current drive as well as changing a drive's current directory. (In other words, it works more like the underlying Win32 API actually does.)

So, for example, the command line

cd /d d:
will change directory to whatever the current directory on drive D is, and also change the current drive to drive D.

If you want to change the command interpreter process' current drive otherwise, the cd command is not the way. You do so by simply typing the drive letter and a colon:

d:

Further reading

  • JP Software (2011). CD/CHDIR TCC On-line Help.
  • Microsoft corporation (2001). Chdir (CD). TechNet Windows XP Command line reference A–Z.
[Zugehöriger Beitrag von Raymond Chen] (http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx). Daniel Beck vor 12 Jahren 4
Nicht ganz richtig Wenn Sie `cd d: \` ausführen, ändert sich das Arbeitsverzeichnis auf `d:`. Wenn Sie `d: \` danach tun, wird es bei `d: \` sein. Wenn Sie "cd d: \ something \ something" machen, passiert zunächst nichts. Wenn Sie danach noch einmal "d: \" machen, wird Ihr Pfad "d: \ etwas \ etwas" "sein! sinni800 vor 12 Jahren 3
Nichts davon widerspricht dem, was oben in irgendeiner Weise geschrieben wurde, "sinni800" (abgesehen davon, dass Sie die Syntax für das Ändern des aktuellen Laufwerks falsch, das heißt, aber ich werde das übersehen). Ich habe keine Diskussion darüber geführt, was passiert, wenn man in einem Argument einen Pfadnamen angibt, weil (a) es nicht um die Frage geht und (b) es sich in der weiteren Lektüre befindet. JdeBP vor 12 Jahren 4
Nein, sind wir nicht. Es wäre falsch, hier von Partitionen anstatt von Laufwerken zu sprechen, "user unknown". Für den Anfang sind Partitionen nicht mit Volumes identisch, und Laufwerkbuchstaben sind Volumes zugeordnet, nicht Partitionen. Und wenn man auf dieser Abstraktionsebene spricht, sind _drive letter_ und _current drive_ die üblichen Ausdrücke, wie sie hier verwendet werden, im weiteren Lesen und sogar im Hilfetext "cd /?". JdeBP vor 12 Jahren 6
Ich habe diesen Befehl seit mindestens 20 Jahren verwendet und habe dies nie gewusst. Chris Ballance vor 11 Jahren 2
Da Sie einen Hyperlink zur Online-Hilfe von JP Software bereitstellen, möchten Sie möglicherweise auch auf [Online-Hilfe von JP Software für ihren "CDD-Befehl"] (http://jpsoft.com./help/cdd.htm) als verweisen das ist für dieses Gespräch durchaus relevant. TOOGAM vor 7 Jahren 0
45
Multiverse IT

Angst das ist falsch. Es ist aus den Tagen von DOS wahr, aber die Befehlszeile in Windows NT und später ist nicht DOS. In der Befehlszeile, die heute von allen verwendet wird, steht der Schalter / D zur Verfügung. Die Option / d ändert das aktuelle Verzeichnis des angegebenen Laufwerks und wechselt zu diesem Verzeichnis. Der Schalter / d muss vor dem Pfad angegeben werden. Zum Beispiel:

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

windows command prompt cd

+1 weil ich etwas Neues gelernt habe, aber ich glaube nicht, dass alles, was ich geschrieben habe, falsch ist. coneslayer vor 14 Jahren 3
Ihre Antwort ist auch richtig, Multiverse IT, aber der Coneslayer war nicht falsch. Danke für Ihr Bemühen. Ich habe in dieser Frage zwei großartige Tricks gelernt. nicorellius vor 14 Jahren 3
Aus meiner Sicht "Was Sie wollen, 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. Die Art und Weise, in der der Kommentar formuliert wird, impliziert, dass Sie dazu keine CD verwenden können - die Implikation ist falsch. Multiverse IT vor 14 Jahren 2
Sein Hauptproblem ist "Ich kann nicht zum D-Laufwerk gelangen". Daher ist die andere Antwort richtig. Ihre Lösung benötigt nur einen Schritt weniger (was gut ist). Es macht den anderen nicht falsch. Gnoupi vor 14 Jahren 0
Hmm, "was er wollen sollte." Klingt eher anmaßend ;-) nicorellius vor 11 Jahren 0
Tippen Sie einfach C:, um auf das Laufwerk C: in Windows 10 zu wechseln Yvonne Aburrow vor 7 Jahren 0
19
IUnknown

CD steht für C hange D irectory und nicht Laufwerk ändern. Es würde sich also nicht zu D ändern: so. Um dies zu erreichen, müssen Sie einfach den Laufwerksbuchstaben eingeben

z.B

d:

CD / DD: Wechselt Laufwerke und Verzeichnisse ... Michael S. vor 12 Jahren 16
Aber d: ist eine Partition, kein Laufwerk. user unknown vor 12 Jahren 0
@userunknown In der Zeit von Dos 1.0, als die Shell entworfen wurde, gab es nur Disketten, die AFAIK nicht partitionieren kann. Die anfängliche Festplatte wurde nur für die primäre (erste) Partition eines Laufwerks unterstützt. Erweiterte Partitionsunterstützung wurde erst später hinzugefügt. Dan Neely vor 12 Jahren 1
Ich sehe weder ein MS-DOS 1.0-Tag noch 1.0. Sie können ein Laufwerk möglicherweise nicht mit MS-DOS-Programmen partitionieren, Sie können jedoch ein MS-DOS-Laufwerk auf einem partitionierten Laufwerk installieren. Ich denke, dass MS-DOS nicht unterstützt wird, und der Tag ist da, weil viele Benutzer glauben, dass cmd.exe und MS-DOS dasselbe bedeuten, was ein weiterer Fehler ist. Apropos: MS-DOS 1.0 wurde nie veröffentlicht. user unknown vor 12 Jahren 0
@userunknown Die Entwurfsentscheidungen gehen auf die ursprünglichen DOS-Versionen zurück. 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 vor 12 Jahren 1
9
Andrew Lambert

Das Arbeitsverzeichnis in cmd.exe wird auf einer volume-by-volumeBasis verwaltet. Das Arbeitsverzeichnis für das C:Laufwerk unterscheidet sich vom Arbeitsverzeichnis für das D:Laufwerk.

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

In Ihrem Fall ist das Arbeitsverzeichnis des D:Laufwerks das Volume-Stammverzeichnis selbst D:\.

Um die Datenträger zu ändern C:, geben Sie D:einfach den Laufwerksbuchstaben ein:

C:\>D: D:\> 
CD / DD: Wechselt Laufwerke und Verzeichnisse ... Michael S. vor 12 Jahren 2
Partitionen werden einem Laufwerkbuchstaben zugeordnet und entsprechen praktisch einem Laufwerk. Sie können auch ein Verzeichnis oder eine Freigabe einem Laufwerk zuordnen, und diese verhalten sich genauso. Marty Fried vor 12 Jahren 1
8
Michael S.

Verwenden Sie cd / DD: dies zu tun. Sie können auch Pfade angeben.

5
Darsak

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

[Drive Letter]: 

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

D: 
Sie ändern die Partition mit `[Laufwerksbuchstabe]:`, glauben Sie mir oder testen Sie es! user unknown vor 12 Jahren 0
Oh wow, das macht die Sache um einiges einfacher. Ich vergesse immer das `/ d`, so dass das Umschalten viel schneller ist. Mateen Ulhaq vor 7 Jahren 0
2
BladeMight

pushdfunktioniert auch, wenn Sie zum Unterverzeichnis Laufwerk gehen müssen, z D:\Tests\Logs.

Verwenden Sie es einfach so:

pushd D:\Tests\Logs 

Wenn Sie zum vorherigen Verzeichnis zurückkehren möchten, verwenden Sie popd:

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

Während Sie zur Suchoption in der Symbolleiste gehen und nach cmd suchen, oder indem Sie Windows Alle auswählen und die Eingabeaufforderung auswählen, gelangen Sie zu einer anderen Eingabeaufforderung. Drücken Sie stattdessen die Windows-Taste + R und suchen Sie nach cmd, die zum Laufwerk C:> benötigt wird. Von dort aus können Sie zu D:> oder an einen beliebigen Ort navigieren