Question Je ne peux pas naviguer dans mon répertoire de carte SD en utilisant cmd dans Windows [dupliquer]


Cette question a déjà une réponse ici:

J'ai une surface pro 3 avec une carte SD de 32 Go. J'ai défini l'emplacement OneDrive sur cette carte SD (puisqu'ils ont supprimé la fonctionnalité d'espace réservé et que je suis donc obligé de tout télécharger). La lettre de lecteur attribuée à la carte SD est D:\, vérifié par disk management utilitaire.

Le problème est que je ne peux pas accéder à ce lecteur / cette carte avec la ligne de commande - à la fois régulière et admin élevée. c'est-à-dire la commande cd D:\ retourne simplement rien et reste dans le dossier en cours.

Cela provoque un certain nombre d'outils en ligne de commande à casser sur mon ordinateur car il ne renvoie pas une erreur (mais rien ne semble fonctionner).

La réponse indiquée ci-dessous est correcte. Cependant, pour plus d'informations, essayez CMD cd vers d'autres lecteurs sauf C: \ ne fonctionne pas


2
2018-05-13 00:48


origine




Réponses:


Dissocier Linux, Windows est étrange.


Il suffit de taper cette commande

D:

ou

D:\

Cela va passer au lecteur



3
2018-05-13 00:51



Cela fonctionne, mais pourquoi dosnt cd travail? Certaines de mes extensions / outils créent un chemin dynamique qui cd construit en eux. Je ne veux pas finir de modifier les extensions, c'est un peu fastidieux - masfenix
J'ai mis à jour ma question en un duplicata que j'ai trouvé. Aurait dû chercher en premier. - masfenix
C'est juste une façon étrange que Windows décide de le faire .... Je ne sais pas: | - f3rn0s
@masfenix: Quant à savoir pourquoi cela ne fonctionne pas et quel est le raisonnement derrière tout cela, voir ma réponse ci-dessous - CherryDT


Windows a le concept de chemins de courant par lecteur, au moins dans le shell. Il s’agit de l’ancienne époque où vous travailliez peut-être avec deux disquettes et où différents dossiers s’ouvraient et vous passiez d’un dossier à l’autre. Et en fait, les sous-dossiers ont été introduits uniquement dans DOS 2.0, je crois, et avant cela, il n'y avait que des lecteurs différents et pas de barres obliques inverses et pas de cd.

Par conséquent, la commutation des disques se fait comme ceci:

C:\> D:

D:\>

... lors de la modification de l'un des répertoires actuels est fait en utilisant cd comme ça:

D:\> cd relative_folder

D:\relative_folder> cd D:\absolute_folder

D:\absolute_folder>

Il est possible de changer de répertoire sur un autre lecteur sans basculer sur ce lecteur, et c'est ce que vous avez fait accidentellement:

D:\absolute_folder> cd C:\test

D:\absolute_folder> C:

C:\test> D:

D:\absolute_folder>

Il est également possible de se référer au chemin d'accès actuel d'un autre lecteur en spécifiant simplement la lettre du lecteur sans barre oblique inverse:

D:\absolute_folder> dir C:
Directory listing of C:\test
...

D:\absolute_folder> dir C:hello
Directory listing of C:\test\hello
...

D:\absolute_folder> dir C:\
Directory listing of C:\
...

D:\absolute_folder>

Et la solution à votre problème: Dans Windows moderne, le cd la commande a un commutateur /d changer implicitement les disques:

D:\absolute_folder> cd /d C:\something

C:\something>

Note latérale: les chemins actuels pour le lecteur individuel (pour le processus actuel - les chemins actuels sont par processus!) Sont stockés sous forme de variables d'environnement cachées magiques appelées =C:, =D: etc.

Vous ne pouvez pas les affecter normalement en raison du signe égal, mais vous pouvez les voir en utilisant echo %=C:% et tel ou en listant toutes les variables d'environnement, y compris celles cachées en utilisant un hack (notez la double citation):

C:\something> set "
=C:=C:\something
=D:=D:\absolute_folder
...

Vous pouvez également voir le chemin actuel d'un autre lecteur en utilisant cd avec une lettre de lecteur sans aucun chemin:

C:\something> cd D:
D:\absolute_folder

C:\something>

Pour plus d'informations, consultez ceci: https://blogs.msdn.microsoft.com/oldnewthing/20100506-00/?p=14133

(Notez qu'en dehors du shell, les programmes n'ont pas à s'en soucier car il n'y a qu'un seul répertoire de travail actuellement utilisé par le système Windows, pas un par disque). au sommet par le shell, car cela a fonctionné comme ça depuis le DOS.)


5
2018-05-13 06:07



Je vous remercie. J'ai pu modifier mes outils et mes extensions C et appelle cd d'inclure le /d drapeau. - masfenix