2009-02-13 31 views
21

Estoy teniendo esta situación extraña:¿Por qué la RUTA del entorno Powershell es diferente a la RUTA del entorno del sistema?

La variable PATH de mi usuario y sistema es diferente de la RUTA en powershell.

Cuando hago:

PS C:\$env:path 
C:\Windows\System32\WindowsPowerShell\v1.0\;c:\oldpath 

Sin embargo, esto no es correcto, parece que se ha quedado atascado en alguna variable PATH edad de mi sistema, por lo que ninguna de las actualizaciones de los que he hecho en ella no cambió esta variable (reinicio después de cada cambio para probar).

¿Por qué sucede esto? ¿Tengo que establecer una variable PATH solo para Powershell?

+0

¿Cómo está cambiando la ruta? Solo cambiarlo con $ env: Path = foo no persistirá en todas las sesiones. – EBGreen

+0

Estoy cambiando la RUTA de las propiedades de la Computadora como de costumbre, no desde la consola. –

+0

Entonces, ¿configura la ruta y luego reinicia su sesión de PowerShell y no es a lo que la cambió? – EBGreen

Respuesta

30

El cambio podría ser "retrasa", a fin de tratar una o varias de estas soluciones:

  • Cierre la sesión y en otra vez;
  • Administrador de tareas>Reiniciar "Windows Explorer" (explorer.exe)
  • reinicia la aplicación de lanzador (launchy, SlickRun, etc)
  • Reinicio

Explicación:
Powershell heredará el entorno del proceso que lo lanzó (que depende de cómo lo ejecute). Este suele ser el shell interactivo (explorer.exe). Cuando modifica el entorno desde las propiedades de la computadora, modifica el entorno de explorer.exe, de modo que si inicia powershell desde explorer.exe, (por ejemplo desde el menú de inicio) debería ver el nuevo entorno.

Sin embargo, si lo ejecuta desde otra cosa (digamos un shell cmd.exe que ya había abierto), no lo hará desde que se inició el proceso en el entorno anterior.

En otras palabras: tenga cuidado de cómo está iniciando cosas.

Cuestiones relacionadas