2010-04-27 15:35:09 +0000 2010-04-27 15:35:09 +0000
235
235

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

C'est peut-être une question stupide, et je pense que j'ai cherché ailleurs pour trouver la réponse… C'est peut-être un problème de chemin, mais quand j'ouvre la ligne de commande et que je tape depuis le C:\> :

cd D:\

je ne peux pas atteindre le lecteur D. Même si je tape :

cd D:\<folder name>

Le command.exe complète automatiquement la ligne avec la touche de tabulation, il sait donc où je suis. Il ne s'imprime tout simplement pas pour afficher le résultat ou pour m'y amener. 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:

j'obtiens l'impression de la D: C'est peut-être une question stupide, et je pense que j'ai cherché ailleurs pour trouver la réponse... C'est peut-être un problème de chemin, mais quand j'ouvre la ligne de commande et que je tape depuis leC:>` :

cd D:\

je ne peux pas atteindre le lecteur D. Même si je tape :

cd D:\<folder name>

Le command.exe complète automatiquement la ligne avec la touche de tabulation, il sait donc où je suis. Il ne s'imprime tout simplement pas pour afficher le résultat ou pour m'y amener. 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:

j'obtiens l'impression de la en dessous de la commande mais elle dit toujours que je suis dans la C: C'est peut-être une question stupide, et je pense que j'ai cherché ailleurs pour trouver la réponse... C'est peut-être un problème de chemin, mais quand j'ouvre la ligne de commande et que je tape depuis leC:>` :

cd D:\

je ne peux pas atteindre le lecteur D. Même si je tape :

cd D:\<folder name>

Le command.exe complète automatiquement la ligne avec la touche de tabulation, il sait donc où je suis. Il ne s'imprime tout simplement pas pour afficher le résultat ou pour m'y amener. 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:

j'obtiens l'impression de la D: C'est peut-être une question stupide, et je pense que j'ai cherché ailleurs pour trouver la réponse... C'est peut-être un problème de chemin, mais quand j'ouvre la ligne de commande et que je tape depuis leC:>` :

cd D:\

je ne peux pas atteindre le lecteur D. Même si je tape :

cd D:\<folder name>

Le command.exe complète automatiquement la ligne avec la touche de tabulation, il sait donc où je suis. Il ne s'imprime tout simplement pas pour afficher le résultat ou pour m'y amener. 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:

j'obtiens l'impression de la en dessous de la commande mais elle dit toujours que je suis dans la .

j'ai l'impression de manquer quelque chose de simple.

Réponses (9)

334
334
334
2010-04-27 15:38:06 +0000

Pour revenir à l'époque du DOS, il y a un “répertoire courant” séparé 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 travaillez toujours sur le lecteur C:.

Ce que vous voulez est simple :

D:

Ici vous pouvez voir comment fonctionne le “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>
78
78
78
2012-01-19 14:17:48 +0000

Ça a fonctionné, car la commande est conçue pour fonctionner.

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

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

Si vous ne lui donnez aucun argument, ou un argument qui est juste une lettre de lecteur et un 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 courant du lecteur courant du processus d'interprétation de commandes. Si vous ne lui donnez qu'une lettre de lecteur et deux points comme argument, il indique le répertoire courant du processus de l'interpréteur de commandes pour ce lecteur. Chaque lecteur a 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 divers langages de programmation de Microsoft et de plusieurs autres fournisseurs. Win32 lui-même ne fonctionne pas de cette façon).

Donc, lorsque vous avez donné d: comme argument, il vous a rapporté le répertoire courant du processus de l'interpréteur de commandes sur le lecteur D, qui se trouve être `D:## Ça a fonctionné, car la commande est conçue pour fonctionner.

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

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

Si vous ne lui donnez aucun argument, ou un argument qui est juste une lettre de lecteur et un 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 courant du lecteur courant du processus d'interprétation de commandes. Si vous ne lui donnez qu'une lettre de lecteur et deux points comme argument, il indique le répertoire courant du processus de l'interpréteur de commandes pour ce lecteur. Chaque lecteur a 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 divers langages de programmation de Microsoft et de plusieurs autres fournisseurs. Win32 lui-même ne fonctionne pas de cette façon).

Donc, lorsque vous avez donné d: comme argument, il vous a rapporté le répertoire courant du processus de l'interpréteur de commandes sur le lecteur D, qui se trouve être . Si vous ne lui aviez donné aucun argument, il vous aurait signalé `C:## Ça a fonctionné, car la commande est conçue pour fonctionner.

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

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

Si vous ne lui donnez aucun argument, ou un argument qui est juste une lettre de lecteur et un 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 courant du lecteur courant du processus d'interprétation de commandes. Si vous ne lui donnez qu'une lettre de lecteur et deux points comme argument, il indique le répertoire courant du processus de l'interpréteur de commandes pour ce lecteur. Chaque lecteur a 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 divers langages de programmation de Microsoft et de plusieurs autres fournisseurs. Win32 lui-même ne fonctionne pas de cette façon).

Donc, lorsque vous avez donné d: comme argument, il vous a rapporté le répertoire courant du processus de l'interpréteur de commandes sur le lecteur D, qui se trouve être `D:## Ça a fonctionné, car la commande est conçue pour fonctionner.

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

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

Si vous ne lui donnez aucun argument, ou un argument qui est juste une lettre de lecteur et un 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 courant du lecteur courant du processus d'interprétation de commandes. Si vous ne lui donnez qu'une lettre de lecteur et deux points comme argument, il indique le répertoire courant du processus de l'interpréteur de commandes pour ce lecteur. Chaque lecteur a 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 divers langages de programmation de Microsoft et de plusieurs autres fournisseurs. Win32 lui-même ne fonctionne pas de cette façon).

Donc, lorsque vous avez donné d: comme argument, il vous a rapporté le répertoire courant du processus de l'interpréteur de commandes sur le lecteur D, qui se trouve être . Si vous ne lui aviez donné aucun argument, il vous aurait signalé .

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

Ainsi, par exemple, la ligne de commande

cd /d d:

changera de répertoire pour le répertoire courant du lecteur D, et changera également le lecteur courant pour le lecteur D.

Si vous voulez changer le lecteur courant du processus d'interprétation de commandes autrement, la commande cd n'est pas la solution. Pour ce faire, il suffit de taper la lettre du lecteur et deux points :

d:

Lectures complémentaires

  • JP Software (2011). CD/CHDIR TCC On-line Help,
  • Microsoft corporation (2001). Chdir (CD) . TechNet Windows XP Référence de la ligne de commande A-Z.
55
55
55
2010-04-27 16:28:25 +0000

Je crains que ce soit incorrect. C'est vrai depuis l'époque du DOS, mais la ligne de commande dans Windows NT et plus tard n'est pas DOS. Dans la ligne de commande que tout le monde utilise aujourd'hui, vous avez le commutateur /D. Le commutateur /d va changer le répertoire actuel du lecteur spécifié ET changer pour 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\>

20
20
20
2012-01-19 07:58:57 +0000

CD signifie C hange D irectory, et non Change Drive. Donc il ne changerait pas en D : comme ça. Pour y parvenir, il suffirait de taper la lettre du lecteur

, par exemple

d:

9
9
9
2012-01-19 08:12:06 +0000

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 transmettez uniquement une lettre de lecteur à cd, celui-ci imprimera le répertoire de travail du lecteur spécifié.

Dans votre cas, le répertoire de travail du lecteur D: est la racine du volume lui-même, D:Le répertoire de travail dans cmd.exe est maintenu sur une basevolume-by-volume; le répertoire de travail du lecteurC:est différent du répertoire de travail du lecteurD:`.

Lorsque vous transmettez uniquement une lettre de lecteur à cd, celui-ci imprimera le répertoire de travail du lecteur spécifié.

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

Pour modifier les volumes de C: à D:, il suffit d'entrer la lettre de lecteur :

C:\>D:
D:\>
8
8
8
2012-01-19 13:33:59 +0000

Utilisezcd /D D:pour ce faire. Vous pouvez également spécifier des chemins d'accès.

5
5
5
2012-01-19 15:52:42 +0000

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

[Drive Letter]:

Par exemple, si vous voulez passer au lecteur D:\ alors il vous suffit de taper ce qui suit dans une invite de commande :

D:
2
2
2
2016-07-27 21:59:20 +0000

pushd fonctionne même si vous devez aller dans un sous-répertoire du lecteur, par exemple D:\Tests\Logs.

Utilisez-le comme suit :

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>
0
0
0
2016-06-23 22:24:36 +0000

Lorsque vous allez à l'option de recherche dans la barre d'outils et que vous recherchez cmd ou en sélectionnant l'invite de commande de Windows All app, vous passez à une autre invite de commande. Essayez plutôt d'appuyer sur le bouton Windows + R et de rechercher le cmd qu'il prend pour le lecteur C:>. De là, vous pouvez naviguer jusqu'à D:> ou n'importe où vous avez besoin