Pourquoi “cd D:” ne change-t-il pas le contexte de la commande en D :? [dupliquer]


18

Duplication possible:
Utilisation de la commande cd dans la ligne de commande Windows, impossible de naviguer vers D: \

Chaque fois que je souhaite modifier le contexte du répertoire sur un autre lecteur (D, E, F ou autre) d'une invite de commande Windows, je dois utiliser "Drive letter":\commande pour le modifier réellement. Si je tente avec « commande cd » sur cd H:\ce que l' écho H: \ pour moi et ne rien faire:

Entrez la description de l'image ici

Y a-t-il une raison pour un tel comportement? Je veux dire, ne cd commandtravaillerait pas pour faire ça? Pourquoi pas


Réponses:


27

Essayer:

cd /d d:

/d changera également de lettre de lecteur ainsi que de répertoire, pour plus d’informations, voir cd /?


1
On dirait que cmd.exe imite assez bien le comportement de DOS dans cette situation, le "répertoire actuel" de chaque lecteur étant mémorisé distinctement.
LawrenceC

4
C'est la vraie réponse à "pourquoi Widows fonctionne de cette façon": parce que DOS l'a fait de cette façon.
KutuluMike

12

La raison pour laquelle Windows se comporte de cette façon est que DOS se comporte de cette façon.

Sous DOS, chaque lecteur a son propre répertoire actuel et la cdcommande le modifie. S'il s'agit également du lecteur actuel , votre répertoire de travail change en même temps. Si vous souhaitez modifier le lecteur actuel, vous devez simplement spécifier la lettre de lecteur sous forme de commande.

Remarquez que Windows ne fonctionne plus de la sorte - vous n’avez qu’un seul répertoire en cours à la fois - mais l’interpréteur de commandes fait tout son possible pour prétendre qu’il existe toujours des répertoires par lecteur. On présume que cela vise à préserver la compatibilité avec les fichiers de commandes DOS existants.

La raison pour laquelle DOS fonctionne de cette manière remonte aux toutes premières versions de DOS, et à CP / M avant celle-ci. Les détails sanglants se trouvent sur le blog de Raymond Chen .


6

La réponse directe est que "parce qu'il n'est pas écrit pour fonctionner de cette façon". Il suffit d'entrer D:en faisant ce que vous voulez.

cd D:\somedirEn fait, entrer curieusement changera en fait le répertoire en cours sur D: en \ data, mais ne changera pas l’invite de commande en cours en D :.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.