J'ai une machine Windows 7 qui, lorsque l'invite de commandes est exécutée par un utilisateur normal, ne parvient pas à développer les variables d'environnement dans le %PATH%
. Si l'invite de commandes est plutôt exécutée en tant qu'administrateur (clic droit, Exécuter en tant qu'administrateur ), elle %PATH%
est correctement développée.
Plus précisément, %PATH%
pour cmd.exe
exécuter en tant qu'utilisateur (affiché via set path
) est comme suit:
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
... alors que %PATH%
pour cmd.exe
exécuter en tant qu'administrateur est le suivant:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
J'ai essayé de me connecter en tant que nouvel utilisateur pour créer un nouveau profil, et le problème persiste également sur ce profil. HKEY_CURRENT_USER\Environment\PATH
n'existe pas et HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
correspond au chemin défini à l'échelle du système dans Propriétés de l'ordinateur -> Variables d'environnement.
Quelqu'un at-il une idée de ce que cela pourrait être, ou où je peux regarder?
la source
REG_SZ
que je la mets en place, le problème se produit, si je la remets en place,REG_EXPAND_SZ
elle est corrigée.J'ai rencontré le même problème en essayant de configurer Maven ...
J'ai trouvé ce post sur Superuser qui a éclairé le problème, mais cela n'a pas fonctionné pour moi. Le problème semblait concerner l'élévation des droits, car un shell administrateur fonctionnerait, mais pas un shell utilisateur. J'ai finalement décidé de recréer les variables utilisateur en tant que variables système à la place et de les ajouter au chemin global.
Cela a fonctionné pour quelques variables, mais j'avais une paire qui ne se développerait toujours pas. Je les ai recréés avec de nouveaux noms plusieurs fois, en vain. Cependant, les variables se sont finalement développées correctement dans le shell utilisateur après avoir désactivé l'UAC, redémarré, réactivé l'UAC et redémarré à nouveau.
la source
J'ai eu un problème très similaire - la solution simple était d'ajouter un point-virgule après l'alias dans la définition du chemin .
Longue histoire:
J'utilise
node.js
donc un alias NODE_HOME défini via une variable d'environnement utilisateur. J'ajoute ensuite cet alias à ma variable d'environnement PATH .Ce que je trouve, c'est qu'après un redémarrage, le shell a perdu le chemin vers NODE_HOME, donc
npm
etc. ne fonctionnera pas. Que se passe-t-il?À l'inspection, je vois que NODE_HOME est défini, mais qu'il a magiquement acquis un point-virgule.
PATH se termine maintenant dans la chaîne littérale % NODE_HOME% au lieu du chemin développé vers le dossier du nœud:
Réparer:
Tout d'abord, supprimez le point-virgule errant de la fin de la définition de NODE_HOME .
Deuxièmement, ajoutez un point-virgule après le symbole NODE_HOME dans la définition de PATH :
Maintenant, quand je démarre un nouveau shell et développe PATH , il trouve NODE_HOME :
Et
npm
ça marche encore!la source
PROBLÈME : Mon problème n'était que sinilaire, si je vous ai bien compris. Mon "chemin" contenait ...;% ANT_HOME% \ bin; ... j'avais la variable ANT_HOME correctement définie sous Variables système (pas utilisateur), et CMD -> SET identique à "echo% ANT_HOME%" l'a imprimée correctement .
SOLUTION : J'ai résolu le problème en déplaçant le dossier de c: \ dev \ 3rd \ ant ... vers c: ** Program Files (x86) ** \ dev \ 3rd \ ant ...
la source