2 votes

Y a-t-il une raison de diviser les commandes "cd" dans Windows?

Je suis en train de nettoyer de vieux fichiers batch Windows au travail et je vois souvent des lignes comme celle-ci :

D:
cd\
cd some\other\path\

y a-t-il une raison (compatibilité avec command.com peut-être ?) de ne pas écrire simplement ceci :

cd /d d:\some\other\path\

4voto

David Points 1001

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.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X