web-dev-qa-db-fra.com

changer de répertoire dans un fichier batch en utilisant une variable

Voici la question:

set Pathname = C:\Program Files
cd %Pathname%
pause

Ce qui précède ne change pas le répertoire, comme je m'y attendais. Quelqu'un peut-il me dire pourquoi?

23
Shunyata Kharg

L'instruction set ne traite pas les espaces comme vous vous y attendez; votre variable est vraiment nommée Pathname[space] et est égal à [space]C:\Program Files.

Supprimez les espaces des deux côtés du = signez et mettez la valeur entre guillemets:

set Pathname="C:\Program Files"

De plus, si votre invite de commande n'est pas ouverte à C: \, l'utilisation de cd seule ne peut pas modifier les lecteurs.

Utilisation

cd /d %Pathname%

ou

pushd %Pathname%

au lieu.

52
Patrick Cuff