Tengo una máquina con Windows 7 que, cuando el símbolo del sistema lo ejecuta un usuario normal, no puede expandir las variables de entorno en el %PATH%
. Si el símbolo del sistema se ejecuta como administrador (clic derecho, Ejecutar como administrador ), entonces %PATH%
se expande adecuadamente.
Específicamente, %PATH%
para cmd.exe
ejecutarse como el usuario (mostrado a través de set path
) es el siguiente:
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
... mientras que %PATH%
para cmd.exe
ejecutar como Administrador es el siguiente:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
Intenté iniciar sesión como un nuevo usuario para crear un nuevo perfil, y el problema persiste en ese perfil también. HKEY_CURRENT_USER\Environment\PATH
no existe y HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
coincide con la ruta definida en todo el sistema en Propiedades del equipo -> Variables de entorno.
¿Alguien tiene alguna idea de lo que podría ser, o dónde puedo mirar?
fuente
REG_SZ
que ocurra el problema, si la configuro nuevamenteREG_EXPAND_SZ
se soluciona.Me encontré con el mismo problema al intentar configurar Maven ...
Encontré esta publicación en Superusuario que arrojó algo de luz sobre el tema, pero no funcionó para mí. El problema parecía ser sobre la elevación de derechos, ya que un shell de administrador funcionaría, pero un shell de usuario no. Finalmente decidí recrear las variables de usuario como variables del sistema y agregarlas a la ruta global.
Esto funcionó para un par de variables, pero tenía un par que aún no se expandía. Los recreé con nuevos nombres un par de veces, sin resultado. Sin embargo, las variables finalmente se expandieron correctamente en el shell del usuario después de deshabilitar UAC, reiniciar, volver a habilitar UAC y reiniciar nuevamente.
fuente
Tuve un problema muy similar: la solución simple era agregar un punto y coma después del alias en la definición de ruta .
Larga historia:
Estoy usando,
node.js
así que tengo un alias NODE_HOME definido a través de una variable de entorno de usuario. Luego agrego este alias a mi variable de entorno PATH .Lo que encuentro es que después de un reinicio, el shell ha perdido el camino hacia NODE_HOME, por lo que
npm
etc. no funcionará. ¿Que esta pasando?En la inspección, veo que NODE_HOME está configurado, pero que mágicamente ha adquirido un punto y coma.
PATH ahora termina en la cadena literal % NODE_HOME% en lugar de la ruta expandida a la carpeta del nodo:
Arreglarlo:
Primero, elimine el punto y coma errante del final de la definición de NODE_HOME .
En segundo lugar, agregue un punto y coma después del símbolo NODE_HOME en la definición de RUTA :
Ahora, cuando inicio un nuevo shell y expando PATH , encuentra NODE_HOME :
Y
npm
funciona de nuevo!fuente
PROBLEMA : Mi problema fue solo sinilar, ya que te entiendo correctamente. Mi "Ruta" contenía ...;% ANT_HOME% \ bin; ... Tenía la variable ANT_HOME configurada correctamente en Variables del sistema (no del usuario) y CMD -> SET igual que "echo% ANT_HOME%" la imprimió correctamente .
SOLUCIÓN : Resolví el problema moviendo la carpeta de c: \ dev \ 3rd \ ant ... a c: ** Archivos de programa (x86) ** \ dev \ 3rd \ ant ...
fuente