3 votes

Je ne peux pas naviguer vers mon répertoire de carte SD en utilisant cmd dans Windows

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

Le problème est que je suis incapable d'accéder à ce lecteur/carte avec la ligne de commande - à la fois en mode normal et en mode administrateur. Par exemple, la commande cd D:\ ne renvoie tout simplement rien et reste dans le dossier actuel.

Cela cause pas mal de problèmes avec les outils en ligne de commande sur mon ordinateur car aucune erreur n'est renvoyée (mais rien ne semble fonctionner).

La réponse marquée ci-dessous est correcte. Cependant, pour plus d'informations, consultez CMD cd to other drives except C:\ not working

6voto

CherryDT Points 445

Windows a le concept de chemins actuels par lecteur, du moins dans l'interpréteur de commandes. Cela remonte aux anciens jours où vous travailliez peut-être avec deux disquettes et aviez des dossiers ouverts dans chacune et vous passiez de l'un à l'autre. En réalité, les sous-dossiers n'ont été introduits qu'avec 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, le changement de lecteur se fait de cette manière :

C:\> D:

D:\>

... tandis que le changement d'un des répertoires actuels se fait en utilisant cd comme ceci :

D:\> cd dossier_relatif

D:\dossier_relatif> cd D:\dossier_absolu

D:\dossier_absolu>

Il est possible de changer de répertoire sur un autre lecteur sans passer à ce lecteur, et c'est ce que vous faisiez accidentellement :

D:\dossier_absolu> cd C:\test

D:\dossier_absolu> C:

C:\test> D:

D:\dossier_absolu>

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

D:\dossier_absolu> dir C:
Liste des dossiers de C:\test
...

D:\dossier_absolu> dir C:hello
Liste des dossiers de C:\test\hello
...

D:\dossier_absolu> dir C:\
Liste des dossiers de C:\
...

D:\dossier_absolu>

Et la solution à votre problème : Dans les versions modernes de Windows, la commande cd a un interrupteur /d pour changer de lecteur implicitement aussi :

D:\dossier_absolu> cd /d C:\quelque_chose

C:\quelque_chose>

Note : les chemins actuels pour chaque lecteur (pour le processus en cours - les chemins actuels sont propres à chaque processus !) sont stockés sous forme de variables d'environnement cachées magiques appelées =C:, =D:, etc.

Vous ne pouvez pas les assigner normalement à cause du signe égal, mais vous pouvez les voir en utilisant echo %=C:% et ainsi de suite, ou en listant toutes les variables d'environnement, y compris les cachées, en utilisant une astuce (notez les guillemets doubles) :

C:\quelque_chose> set "
=C:=C:\quelque_chose
=D:=D:\dossier_absolu
...

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

C:\quelque_chose> cd D:
D:\dossier_absolu

C:\quelque_chose>

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

(Notez que en dehors de l'interpréteur de commandes, les programmes n'ont pas à se soucier de cela, car il n'y a qu'un seul répertoire de travail actuel que le système Windows utilisera réellement, pas un par lecteur. Les choses "par lecteur" ne sont qu'une surcouche construite par l'interpréteur de commandes, car cela fonctionnait ainsi depuis DOS.)

0 votes

Merci. J'ai pu modifier mes outils et extensions (qui s'exécutent sur C et appellent cd pour inclure le drapeau /d.

3voto

tmakino Points 123

Contrairement à Linux, Windows est impair.


Tapez simplement cette commande

D:

ou

D:\

Cela passera au lecteur


0 votes

Cela fonctionne, mais pourquoi ne fonctionne pas cd? Certains de mes extensions/outils créent un chemin dynamiquement qui a cd intégré en eux. Je ne veux pas finir par modifier les extensions, c'est un peu fastidieux.

0 votes

J'ai mis à jour ma question pour une question similaire que j'ai trouvée. J'aurais dû d'abord chercher.

0 votes

C'est juste une façon bizarre qu'a Windows de décider de le faire.... Je ne sais pas :|

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