Sé cómo configurar variables de entorno específicas del sistema o del usuario:
Ahora, el problema es que la PATH
variable se trata de manera tal que el valor que ingrese para la RUTA del usuario se agregará automáticamente a la RUTA del sistema y esa será la variable de RUTA efectiva.
Es decir, digamos que tengo
(SISTEMA) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...
y (USUARIO) PATH=C:\Program Files\Bar\bin
(tenga en cuenta que no hay %PATH%
en este valor)
entonces la variable de entorno resultante para este usuario será:
(eficaz) PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...;C:\Program Files\Bar\bin
Sin embargo, preferiría que para una cuenta de usuario de SO muy específica, la variable de entorno PATH debería tener el bar\bin
directorio al comienzo de la RUTA en lugar de al final.
¿Hay una manera adecuada de decirle a Windows que anule por completo la PATH
variable de un usuario con el valor para ese usuario en lugar de agregarlo a la PATH
variable del sistema ?
Nota: Obviamente, desde un archivo por lotes, todo esto no importa, ya que puede configurar y ajustar los env.vars como desee.
PATH
y esta cuenta de usuario específica sería mejor atendida por tener un diferentePATH
. Sé que hay muchas soluciones alternativas, pero estaba interesado en saber si hay algo fuera de la caja / en el sistema operativo / nivel de registro para lograr esto.Respuestas:
Si solo necesita que esto funcione para las sesiones del símbolo del sistema, cree un archivo por lotes de perfil / inicio y configúrelo en el registro, según /programming/17404165/how-to-run-a-command-on -command-prompt-startup-in-windows . P.ej,
Luego simplemente haga modificaciones a la RUTA en ese archivo por lotes. P.ej,
fuente
Tuve el mismo problema y esto funcionó para mí:
Puede obtener la "variable de ruta de usuario" a través de:
La salida (en mi máquina) es:
Pero luego tienes que analizar esto y usar la parte relevante.
He leído aquí la solución aquí y probado en mi máquina.
fuente
No sé cómo ignorar la variable del sistema, pero sé que si usa variables de sesión (a través del
SET
comando), tienen prioridad sobre otras variables. Entonces puede usar laSET PATH=C:\Program Files\Bar\bin
instrucción y su ruta deseada será la primera parte de la variable.Aquí hay una referencia válida, y reporto aquí un período simple desde esa página:
fuente
PATH
variable es una excepción (caso especial) - la variable de usuario no no tienen precedencia sobre la variable del sistema. El hecho de que una "variable de sesión" tenga prioridad sobre las variables preestablecidas por el usuario y el sistema es cierto, pero ¿cómo se configura automáticamente una variable de sesión para un usuario? G-Wiz ha respondido esa pregunta y, AFAICS, no ha agregado nada a esa respuesta.