290 votes

En utilisant la commande cd dans la ligne de commande de Windows, je ne peux pas naviguer vers D:\.

C'est peut-être une question stupide, et je pense avoir cherché la réponse ailleurs... Il s'agit peut-être d'un problème de chemin, mais lorsque j'ouvre la ligne de commande et que je tape dans le champ C:\> :

cd D:\

Je ne peux pas accéder au lecteur D. Même si je tape :

cd D:\<folder name>

Le site command.exe complétera automatiquement la ligne avec la touche de tabulation, pour qu'il sache où j'en suis. Mais il n'imprime pas le résultat à l'écran et ne m'y amène pas. Ce problème existe également pour les lecteurs réseau.

Maintenant, si j'utilise le chdir ( cd ) comme ceci :

chdir D: o cd d:

J'obtiens l'impression de la D:\ sous la commande, mais il est toujours indiqué que je suis dans la section C:\ .

J'ai l'impression de rater quelque chose de simple.

1 votes

J'ai utilisé pushd à la place de cd à peu près partout car il se comporte beaucoup mieux dans des situations comme celle-ci.

10 votes

Voir cette réponse " cd /d D : " superuser.com/a/135239/78897

2 votes

Essayez ceci : cd /d d :

408voto

coneslayer Points 8422

Depuis l'époque du DOS, il existe un "répertoire courant" distinct pour chaque lecteur. cd D:\foldername change le répertoire courant de D : pour le nom de dossier spécifié, mais ne change pas le fait que vous êtes toujours en train de travailler sur le fichier C: conduire.

Ce que vous voulez est simple :

D:

Vous pouvez voir ici comment fonctionne le principe du "répertoire courant séparé pour chaque lecteur" :

C:\Users\coneslayer>e:

E:\>c:

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

C:\Users\coneslayer>e:

e:\Software>

2 votes

-1 pour ne pas avoir mentionné le /d interrupteur. Lisez plutôt ceci : superuser.com/a/135239/320611

87voto

JdeBP Points 25711

Il a fait fonctionne, comme la commande est conçue pour fonctionner.

Vous ne savez tout simplement pas comment c'est censé fonctionner.

Vous n'utilisez pas un programme Unix ou Linux Shell. Le site cd dans l'interpréteur de commandes de Microsoft ne se comporte pas comme la commande cd les commandes de ces coquilles le font. Il se comporte quelque peu différemment. En particulier, il ne change pas toujours de répertoire . Dans les shells Unix et Linux, cd ne définit jamais que le répertoire de travail. Dans l'interpréteur de commandes de Microsoft, cd l'interroge parfois. Il n'y a pas de pwd la commande, donc cd fait deux choses.

Si vous ne lui donnez aucun argument, ou un argument qui est juste une lettre de lecteur et deux points sans chemin, alors il signale le répertoire courant au lieu de le changer . Si vous ne lui donnez pas d'arguments, il indique le répertoire actuel du lecteur actuel du processus de l'interpréteur de commandes. Si vous ne lui donnez qu'une lettre de lecteur et deux points en argument, il affiche le répertoire actuel du processus d'interprétation des commandes de ce lecteur. Chaque lecteur possède son propre répertoire courant dans l'interpréteur de commandes. (Il s'agit d'une fiction maintenue par les bibliothèques d'exécution pour les implémentations de Microsoft et de plusieurs autres fournisseurs de divers langages de programmation. Win32 lui-même ne fonctionne pas de cette façon).

Donc quand vous l'avez donné d: en tant qu'argument, il vous a signalé le répertoire actuel du processus de l'interpréteur de commandes sur le lecteur D, qui s'est avéré être D:\ . Si vous ne lui aviez donné aucun argument, il aurait rapporté C:\ pour vous.

Si vous voulez le cd pour être toujours en mode réglage et ne jamais être en mode interrogation vous devez ajouter le /D l'option. Cela oblige la commande à toujours être en mode défini et l'étend également de manière à ce qu'elle modifie le lecteur actuel ainsi que le répertoire actuel d'un lecteur. (En d'autres termes, elle fonctionne davantage comme l'API Win32 sous-jacente).

Ainsi, par exemple, la ligne de commande

cd /d d:changera le répertoire pour le répertoire actuel sur le lecteur D, et changera également le lecteur actuel pour le lecteur D.

Si vous souhaitez modifier le lecteur actuel du processus d'interprétation des commandes, sinon, l'option cd le commandement n'est pas la voie à suivre. Pour ce faire, il suffit de taper la lettre du lecteur et les deux points :

d:

Autres lectures

  • JP Software (2011). CD/CHDIR Aide en ligne du TCC.
  • Microsoft corporation (2001). Chdir (CD) . TechNet Windows XP ligne de commande référence A-Z .

6 votes

3 votes

Pas tout à fait juste. Si vous faites cd d:\ il change le répertoire de travail sur d: . Si vous le faites d:\ Ensuite, ce sera à d:\ . Si vous le faites cd d:\something\something rien ne se passera au début. Mais si vous le faites d:\ après encore, votre chemin sera d:\something\something" !

5 votes

Rien de tout cela ne contredit en aucune façon ce qui est écrit ci-dessus, sinni800 (à part le fait que vous avez mal compris la syntaxe pour changer le lecteur actuel, mais je vais passer outre). Je n'ai pas inclus de discussion sur ce qui se passe lorsque l'on fournit un nom de chemin dans un argument parce que (a) ce n'est pas le sujet de la question et (b) c'est dans les lectures complémentaires.

71voto

Nicholas Smith Points 2353

J'ai bien peur que ce soit incorrect. C'est vrai depuis l'époque du DOS, mais la ligne de commande de Windows NT et des versions ultérieures n'est pas DOS. Dans la ligne de commande que tout le monde utilise aujourd'hui, vous avez le commutateur /D. Le commutateur /d modifie le répertoire actuel du lecteur spécifié ET passe à ce répertoire. Le commutateur /d doit être spécifié avant le chemin d'accès. Par exemple :

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

windows command prompt cd

4 votes

+1 parce que j'ai appris quelque chose de nouveau, mais je ne pense pas que ce que j'ai écrit soit incorrect.

3 votes

Votre réponse est correcte aussi, Multiverse IT, mais coneslayer n'était pas incorrect. Merci pour vos efforts. J'ai appris deux superbes trucs avec cette question.

2 votes

De mon point de vue, "Ce que vous voulez est simple... D :" est incorrect. Oui, cela fonctionne et c'est une méthode valide pour atteindre l'objectif, mais ce n'est pas, à proprement parler, ce qu'il devrait vouloir. De plus, la façon dont le commentaire est formulé implique que vous ne pouvez pas utiliser le CD pour faire cela - cette implication est incorrecte.

21voto

IUnknown Points 2136

CD signifie C hange D irectory, et non Change Drive. Il ne sera donc pas remplacé par D : comme ça. Pour y parvenir, il vous suffit de saisir la lettre du lecteur.

par exemple

d :

17 votes

Cd /D D : change les lecteurs et les répertoires...

0 votes

Mais d : est une partition, pas un lecteur.

1 votes

@userunknown A l'époque de Dos 1.0, lorsque le Shell a été conçu, il n'y avait que des disquettes qui, à ma connaissance, ne peuvent pas être partitionnées. Le support initial des disques durs ne concernait que la partition primaire (première) d'un disque. Le support des partitions étendues n'a été ajouté que plus tard.

10voto

Michael S. Points 3701

Utilisez

cd /D D:

pour ce faire. Vous pouvez également spécifier des chemins.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X