web-dev-qa-db-fra.com

Windows, vous ne pouvez pas accéder à D: \

C'est peut-être une question stupide, et je pense avoir cherché ailleurs pour trouver la réponse ... Peut-être un problème de chemin, mais lorsque j'ouvre la ligne de commande et que je tape à partir du C:\>:

cd D:\

Je n'arrive pas à accéder au lecteur D. Même si je tape:

cd D:\<folder name>

Le command.exe complétera automatiquement la ligne avec la touche de tabulation, ainsi il saura où je suis. Cela n'imprime tout simplement pas le résultat ou ne m'y amène pas. Ce problème existe aussi pour les lecteurs réseau.

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

chdir D: ou cd d:

Je reçois l’impression du D:\ sous la commande, mais il reste que je suis dans le C:\.

Je sens que je manque quelque chose de simple.

213
nicorellius

Pour revenir à l'époque du DOS, il existe un "répertoire actuel" distinct pour chaque lecteur. cd D:\foldername remplace le répertoire actuel de D: par le nom de dossier spécifié, mais ne change pas le fait que vous travaillez toujours sur le lecteur C:.

Ce que tu veux est simple:

D:

Ici vous pouvez voir comment fonctionne le "Répertoire en cours séparé pour chaque lecteur":

C:\Users\coneslayer>e:

E:\>c:

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

C:\Users\coneslayer>e:

e:\Software>
307
coneslayer

Cela a fait fonctionne, car la commande est conçue pour fonctionner.

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

Vous n'utilisez pas de programme Unix ou Linux Shell. La commande cd dans l'interpréteur de commandes de Microsoft ne se comporte pas comme le font les commandes cd dans de tels shells. Il se comporte un 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 commande pwd séparée, donc cd effectue deux tâches.

Si vous ne lui donnez pas d'argument, ou si l'argument est juste une lettre de lecteur et deux points sans chemin d'accès, alors il indique le répertoire en cours au lieu de le modifier. Si vous ne lui donnez pas d'argument, il indique le répertoire en cours du lecteur en cours du processus d'interpréteur de commandes. Si vous lui donnez uniquement une lettre de lecteur et un caractère deux-points comme argument, il indique le répertoire en cours du processus interpréteur de commandes de ce lecteur. Chaque lecteur a son propre répertoire actuel dans l'interpréteur de commandes. (Il s'agit d'une fiction gérée par les bibliothèques d'exécution pour les implémentations de divers langages de programmation par Microsoft et plusieurs autres fournisseurs. Win32 lui-même ne fonctionne pas de cette façon.)

Ainsi, lorsque vous lui avez donné d: comme argument, il vous a signalé le répertoire en cours du processus interpréteur de commandes sur le lecteur D, qui était D:\. Si vous ne lui aviez donné aucun argument, il vous aurait rapporté C:\.

Si vous voulez que la commande cd soit soyez toujours en mode set et ne soyez jamais en mode requête, vous devez y ajouter l'option /D. Cela force la commande à toujours être en mode de réglage et la étend également de sorte à changer le lecteur en cours ainsi que le répertoire en cours d'un lecteur. (En d'autres termes, cela fonctionne plus comme le fait réellement l'API Win32 sous-jacente.)

Ainsi, par exemple, la ligne de commande

cd/d d:

Si vous voulez changer le lecteur actuel du processus d'interpréteur de commandes, la commande cd n'est pas la solution. Vous le faites simplement en tapant la lettre de lecteur et un deux-points:

ré:

Lectures complémentaires

  • Logiciel JP (2011). CD/CHDIR Aide en ligne de la STC.
  • Société Microsoft (2001). Chdir (CD) . TechNet Windows XP Référence de ligne de commande A – Z.
76
JdeBP

J'ai peur que ce soit incorrect. Cela est vrai depuis le temps du DOS, mais la ligne de commande dans Windows NT et les versions ultérieures ne sont pas DOS. Dans la ligne de commande que tout le monde utilise aujourd'hui, vous avez le commutateur/D. Le commutateur/d modifiera le répertoire en cours du lecteur spécifié ET basculera vers ce répertoire. Le commutateur/d doit être spécifié avant le chemin. Par exemple:

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

windows command Prompt cd

49
Multiverse IT

CDsignifieChangeDirectory et non Change Drive. Donc, cela ne changerait pas en D: comme ça. Pour ce faire, il vous suffit de taper la lettre du lecteur.

par exemple.

ré:

20
IUnknown

Le répertoire de travail dans cmd.exe est maintenu sur une base volume-by-volume; le répertoire de travail du lecteur C: est différent du répertoire de travail du lecteur D:.

Lorsque vous ne transmettez qu'une lettre de lecteur à cd, le répertoire de travail du lecteur spécifié est imprimé.

Dans votre cas, le répertoire de travail du lecteur D: est la racine du volume lui-même, D:\.

Pour modifier les volumes de C: à D:, entrez simplement la lettre du lecteur:

C:\>D:
D:\>
9
Andrew Lambert

Utilisez cd/D D: pour le faire. Vous pouvez également spécifier des chemins.

8
Michael S.

Si vous voulez changer de lecteur dans une invite de commande DOS, il vous suffit d'écrire:

[Drive Letter]:

Par exemple, si vous souhaitez déplacer le lecteur D: \, il vous suffit de saisir ce qui suit dans une invite de commande:

D:
5
Darsak

pushd fonctionne même lorsque vous devez accéder au sous-répertoire du lecteur, par exemple. D:\Tests\Logs.

Utilisez-le simplement pour:

pushd D:\Tests\Logs

Si vous voulez revenir au répertoire précédent, utilisez popd:

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

Pendant que vous allez rechercher une option dans la barre d’outils et cherchez cmd ou en sélectionnant toutes les fenêtres, sélectionnez la commande Invite de commande, puis il faut une autre commande Invite. Au lieu de cela, essayez d’appuyer sur le bouton windows + R et recherchez cmd pour C:> lecteur. De là, vous pouvez naviguer vers D:> ou n'importe où vous avez besoin

0
user609712