Un poco de información importante: mi empresa tiene un script genérico de inicio de sesión VBS que realiza modificaciones en la variable de entorno PATH del usuario al iniciar sesión y me permite ejecutar software que depende de recursos compartidos de archivos DFS asignados. También instalé recientemente el SDK de Windows Powershell en mi máquina Windows 7 Enterprise e intenté modificar mi variable de entorno PATH desde la línea de comandos de Powershell.
Después de esto, noté que ya no podía ejecutar aplicaciones que corresponden a estas modificaciones de la RUTA de inicio de sesión y que la RUTA del editor de variables de entorno se configuró en algo diferente de lo que aparecía cuando emití un 'echo %PATH%'
comando desde el símbolo del sistema.
Entonces, por ejemplo (simplificación), desde el editor de variables de entorno ( My Computer properties -> Advanced System Settings -> Environment Variables
) tuve
C:\MyDir\; C:\MyOtherDir
mientras que cuando lo hice 'echo %PATH%'
desde un símbolo del sistema obtuve:
C:\MyDir\
¿Alguien más ha tenido un problema similar y hubo algún tipo de resolución? Cuando busqué en Google ayuda, me encontré con esto:
(¿Relacionado?) Hilo StackOverflow
Se me ocurrió que si el script de inicio de sesión fue iniciado por algo diferente a mi entorno Explorer.exe, entonces ese era el problema. Sin embargo, cuando ejecuté el script de inicio de sesión, mi RUTA desde el símbolo del sistema no cambió. ¿Qué tendría esto que ver con PowerShell? Me falta cómo se conecta esto completamente a esa instalación.
fuente
Respuestas:
Windows tiene dos clases de variables de entorno, variables de entorno del sistema y variables de entorno del usuario . Si está utilizando
echo %PATH%
, verá su variable de entorno de usuarioPATH
. Solo si no hay una variable de usuario definida, la variable del sistema estará vigente para los procesos de usuario.El
PATH
separador;
no debe ir seguido de un espacio en blanco.La siguiente nota de Microsoft podría ser útil:
Puede modificar las variables de entorno del usuario editando la siguiente clave del Registro:
Puede modificar las variables de entorno del sistema editando la siguiente clave del Registro:
Tenga en cuenta que cualquier variable de entorno que deba expandirse (por ejemplo, cuando la use
%SYSTEM%
) debe almacenarse en el registro como unREG_EXPAND_SZ
valor de registro. Cualquier valor de tipoREG_SZ
no se expandirá cuando se lea desde el registro.Comentario adicional: cada vez que un proceso cambia su entorno (en lugar de la configuración del registro que define el entorno para nuevos procesos), los cambios solo son visibles para los procesos secundarios.
fuente
tmp
ytemp
. ¿Estás seguro de que esta es la ruta para el usuario, que debería modificarse?