`cd` ne change pas de répertoire dans Windows 7 [doublon]

20

Duplicata possible: à l'
aide de la commande cd dans la ligne de commande Windows, impossible de naviguer vers D: \
CMD cd vers d'autres lecteurs sauf C: \ ne fonctionne pas

Je travaille avec cmd.exeWindows 7 (par opposition à Powershell). J'ai 2 partitions sur mon disque, C contient le système d'exploitation et les programmes installés et D contient mes données. J'essayais de cdpasser de C à D, mais cmd ne me laissait pas:

C:\>cd D:\

C:\>

Cependant, lorsque je tape dir D:\, il répertorie correctement le contenu de D. Pourquoi fait-il cela et comment puis-je le réparer? Powershell fonctionne très bien, donc je peux l'utiliser, mais j'aimerais savoir ce qui fait que les cmdcomportements se comportent mal.

astay13
la source
Quelqu'un pourrait-il créer une balise msdos? Je pense que cette question est valable pour toutes les versions de DOS à partir de 1.0 et plus. Si je me souviens bien, CP / M n'avait pas ce concept, mais vous pouviez adresser les lecteurs séparés en ajoutant le driveletter: au nom du fichier. Je pense que c'est important car c'est une question valable pour quelqu'un qui n'a pas vécu l'ère DOS et pas une question Windows 7 en tant que telle.
Stuart Woodward
@StuartWoodward en fait DOS 1.0 n'avait pas de sous-répertoires - ils ont été introduits dans 2.0.
Jesse Slicer

Réponses:

33

Vous devez utiliser juste d: , pascd d:\

EDIT: il est également possible d'utiliser cd /d d:pour changer de lecteur à l'aide de cd

soandos
la source
Je ne sais pas vraiment pourquoi cette décision de conception a été prise, et je la cherche, mais c'est comme ça que ça a toujours été.
soandos
@ astay13 voir modifier.
soandos
1
@soandos cdsignifie "changer de répertoire", et D:est un lecteur, pas un répertoire. Voir la réponse de David pour plus de détails
Izkata
@Izkata pourquoi ne pouvez-vous pas passer à un répertoire sur un lecteur différent en utilisant la même syntaxe utilisée pour aller dans un dossier différent? c'est ce que je disais.
soandos
Cela change le répertoire: par exemple: C: \> cd D: \ test, change le répertoire actuel sur le disque D: à tester, mais l'invite est toujours sur C:
Sebastian Godelet
28

Windows suit un répertoire de travail distinct pour chaque lecteur. Vous êtes actuellement sur le lecteur 'C' dans le répertoire de travail '\'. Lorsque vous tapez, cd d:\il change votre répertoire de travail pour le lecteur «D» en «\» et n'a aucun effet sur le répertoire de travail de votre lecteur C. Pour changer de lecteur, tapez simplement D:. Vous pouvez modifier les deux en même temps avec le /dparamètre sur cd.

David Schwartz
la source
3
En fait, Windows que l'interrogateur dit que xe est en cours d'exécution - Windows NT 6.1 - n'a jamais - pas depuis 1993 - eu un répertoire de travail distinct pour chaque lecteur. Il existe un répertoire de travail par processus. L' apparition de plusieurs répertoires de travail sur plusieurs lecteurs est une fiction maintenue par l'interpréteur de commandes de Microsoft et les bibliothèques d'exécution de ses langages, à l'aide de variables d'environnement cachées.
JdeBP
@JdeBP Variables d'environnement cachées qui suivent un répertoire de travail distinct pour chaque lecteur? Et l'interpréteur de commandes de Microsoft et les bibliothèques d'exécution de ses langues font-ils partie de Windows?
David Schwartz
1

Il convient de noter que pushd(par exemple pushd D:\) changera toujours les lecteurs.

bobbymcr
la source
Ce serait merveilleux comme commentaire à la question mais ne répond pas à la question.
Stuart Woodward