web-dev-qa-db-fra.com

Comment changer le répertoire de travail actuel en utilisant un fichier de commandes

J'ai besoin d'aide pour écrire un fichier batch. J'ai un chemin stocké dans une racine variable comme suit:

set root=D:\Work\Root

Ensuite, je change mon répertoire de travail à cette racine comme suit:

cd %root%

Lorsque j'exécute ce fichier de commandes à partir de n'importe où sur le lecteur D, l'opération est effectuée avec succès. Mais lorsque j'exécute le même fichier de commandes à partir d'un autre lecteur, cd% root% ne fonctionne pas.

Est-il possible d'obtenir la lettre de lecteur à partir de la variable racine? Je peux ensuite changer le répertoire en cours sur ce lecteur en premier, puis cd% root% fonctionnera.

93
Ananya

Spécifiez /D pour modifier également le lecteur.

CD /D %root%
146
Andriy M

Utilisez simplement cd /d %root% pour changer de lettre de pilote et de répertoire.

Vous pouvez également utiliser pushd %root% pour changer de lettre de lecteur lors du changement de répertoire, ainsi que pour stocker le répertoire précédent sur une pile afin de pouvoir utiliser popd pour revenir en arrière.

Notez que pushd vous permettra également de changer de répertoire sur un partage réseau. En réalité, il mappera un lecteur réseau pour vous, puis annulez-le lorsque vous exécuterez le popd pour ce répertoire.

39
Gabe

Essaye ça

chdir /d D:\Work\Root

Profitez de l'enracinement;)

23
stingray_

Une syntaxe plus simple pourrait être

pushd% root%

0
NapkinBob