Il existe un problème certain avec le développement de variables d’environnement au sein de la variable PATH lorsque la variable se développe en un chemin contenant des espaces.
Nous avons créé nos propres variables de niveau système, telles que "OUR_ROOT = c: \ MyRoot", puis nous les avons utilisées dans le système PATH, telles que "PATH =;% OUR_ROOT% \ bin;". et qui est étendu correctement à "PATH =; c: \ MyRoot \ bin;". Jusqu'à présent, pas de problème.
Mais sous Windows 7 (32 bits), un produit s’est installé et a créé les variables d’environnement système suivantes:
STUDIO_BIN=C:\program files\Company Name\Product Name 10.4\bin
et il l'a ajouté à la variable système PATH:
PATH=<other path elements>;%STUDIO_BIN%;<more path elements>
Mais les valeurs PATH affichées dans CMD contenaient "% STUDIO_BIN%;" et non le chemin étendu. La valeur dans Poste de travail> Propriétés> Avancé> Env.Vars reste également non développée. Cela signifiait que je ne pouvais pas exécuter de programmes nécessitant une DLL dans ce répertoire.
En changeant simplement STUDIO_BIN (via Poste de travail> Propriétés> Avancé ...> Env Vars) en un nom sans espaces incorporés:
STUDIO_BIN=C:\ProductName\bin
puis en redémarrant la fenêtre CMD, le PATH est maintenant:
PATH=<other path elements>;C:\ProductName\bin;<more path elements>
Une autre solution consiste à éditer suffisamment la variable système que vous utilisez dans PATH à l'aide de la boîte de dialogue Poste de travail> Propriétés> Avancé ...> Variables d'environnement. J'ai essayé d'ajouter un caractère et de le supprimer pour effectuer un "changement", puis OK, une nouvelle invite CMD a été lancée et PATH n'a PAS été correctement développé. J'ai ensuite essayé de supprimer une partie du chemin afin qu'il soit
STUDIO_BIN=C:\Program Files\Company Name
(en omettant "Nom du produit 10.4") et puis voilà, la prochaine invite CMD a montré PATH avec STUDIO_BIN correctement développé!
Bizarrement, si je suis rentré et que j'ai ajouté le "Nom du produit 10.4" à STUDIO_BIN (y compris tous les espaces qui étaient à l'origine avant que je ne commence à le faucher), PATH était toujours correctement développé.
De toute évidence, le contenu de la variable PATH ayant été suffisamment modifié, il subit un traitement supplémentaire dans la boîte de dialogue Variables d'environnement qui lui permet de fonctionner. Traitement non effectué lors de l'ajout de la variable par le programme d'installation du produit (qui vient probablement de modifier directement PATH dans le registre).
Je suis presque sûr que c'était aussi un problème avec XP. Cela a juste refait surface pour moi dans Windows 7 alors que je construisais une nouvelle machine de développement. Apparemment, cela n’a pas été corrigé par Microsoft.
Apparemment, même les variables définies par MS, telles que% ProgramFiles%, ne se développeront pas correctement dans PATH.
Cette page fournit une réponse possible si vous définissez PATH via la ligne de commande ou le fichier de traitement par lots. (Placez la commande entière après SET entre guillemets.) Je ne sais pas quel programme d'installation utilisé par le produit que j'ai installé a été utilisé pour définir les variables d'environnement, mais il est évident que tout le traitement nécessaire pour développer correctement les chemins d'accès avec des espaces a été pris.
Donc, pour résumer, vous pouvez soit:
changer les chemins (et déplacer tous les fichiers associés) en chemins sans espaces, ou
éditez les variables qui ne parviennent pas à se développer dans la boîte de dialogue Variables d'environnement (modifiez-les suffisamment pour qu'elles soient traitées correctement - je ne suis pas certain que cela suffise).