Cela a fonctionné, 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 shell Unix ou Linux. La cd
commande de l'interpréteur de commandes de Microsoft ne se comporte pas comme les cd
commandes 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
seul le répertoire de travail est défini. Dans l'interpréteur de commandes de Microsoft, l' cd
interroge parfois. Il n'y a pas de pwd
commande séparée , donc cd
deux tâches.
Si vous ne lui donnez pas d'argument, ou si l'argument est juste une lettre de lecteur et un signe deux-points sans chemin, il enregistre 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 l'avez d:
indiqué sous forme d'argument, il vous a signalé le répertoire en cours du processus interpréteur de commandes sur le lecteur D, qui s'est avéré être D:\
. Si vous ne lui aviez donné aucun argument, cela vous aurait été rapporté C:\
.
Si vous souhaitez que la cd
commande soit toujours en mode de réglage et ne soit jamais en mode de requête, vous devez lui ajouter l' /D
option. Cela oblige la commande à toujours être en mode de réglage et l’étend également de sorte qu’elle modifie 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 / dd:
changera de répertoire en quel que soit le répertoire actuel sur le lecteur D, et changera également le lecteur actuel en lecteur D.
Si vous voulez changer le lecteur actuel du processus d'interpréteur de commandes, la cd
commande 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). Aide en ligne du CDC / CHDIR TCC.
- Société Microsoft (2001). Chdir (CD) . TechNet Windows XP Référence de ligne de commande A – Z.
pushd
à la place decd
presque partout car il se comporte beaucoup mieux dans des situations comme celle-ci.