cd
ne change en réalité pas le lecteur de travail; il ne change que le répertoire de travail pour ce lecteur. C'est pourquoi il est divisé de cette manière.
Un exemple pourrait aider:
C:\users\david>cd D:\some\path
C:\users\david>
Remarquez que le lecteur n'a pas changé.
C:\users\david>D:
D:\some\path>
Maintenant que D: est le "disque de travail", le répertoire de travail est changé en ce que vous avez spécifié précédemment.
Comme vous l'avez souligné, cd /d
fera les deux. [MISE À JOUR: J'ai dû manquer le /d
en lisant votre message d'origine :( -- désolé]
Je crois que vous avez raison - il n'y a aucune "bonne" raison de ne pas utiliser la commande en une seule ligne - sinon la compatibilité avec COMMAND.COM (que je suis à peu près sûr ne prend pas en charge l'option /d
). Pour cette raison, je crée toujours mes fichiers de script avec une extension .cmd
s'ils dépendent de fonctionnalités non prises en charge dans COMMAND.COM.
Une meilleure alternative selon moi est d'utiliser pushd
qui se comporte comme cd /d
- et vous donne également la possibilité de revenir à l'endroit où vous étiez avant (via popd
). Vous pouvez même utiliser pushd
vers un chemin UNC (\\serveur\partage
) et Windows créera pour vous une lettre de lecteur temporaire. (Bien que je n'ai découvert cette fonction que ce matin et que je suis sous Win 7 Pro, donc je ne suis pas sûr si elle est disponible sur les anciennes versions et/ou les éditions Familiale.)