Si tengo una instancia de PowerShell ISE ejecutándose e instalo algo que modifica la RUTA o la modifico de alguna manera fuera de PowerShell, entonces necesito reiniciar PowerShell para que vea la variable PATH actualizada.
¿Hay alguna manera de volver a cargar la ruta desde PowerShell sin reiniciarla?
refreshenv
. Básicamente, esto ejecuta una versión más elaborada del comentario de Rob.refreshenv
no funcionó. La respuesta aquí ('Comentario de Robs') funcionó muy bien. Por lo tanto, puede haber algunas situaciones en las que un enfoque funciona y el otro no ...refreshenv
no funcionará. Elrefreshenv
único funciona en conchas subsecuentes abiertas.Intente obtener la ruta de la máquina y asignarla a la ruta de la sesión.
fuente
La forma más fácil, utiliza Chocolatey (freeware). Funciona tanto para CMD como para PowerShell. Luego podrá volver a cargar PATH (con expansión variable) con un comando simple:
Instalación desde cmd (requiere derechos de administrador):
Ejemplo de uso:
fuente
refreshenv
no funcionó para mí (Windows 10). Todavía tenía que abrir una nueva ventana para que surta efecto.refreshenv
Tampoco funciona aquí. Trabajando en algunos scripts en un entorno de Windows Sandbox y la ruta simplemente se niega a actualizarse a menos que se inicie una nueva sesión de PS.Según la respuesta de mpen , aquí hay una función de PowerShell:
Entonces solo llama
refresh-path
.fuente
Si su ruta contiene variables de entorno que no se definieron al comienzo de la sesión, también querrá expandirlas:
Para mí, esto fue útil después de instalar NVM, que define y agrega% NVM_HOME% a la ruta.
Para llevar esto a su conclusión lógica, podría usar esta función recursiva para expandirse en su lugar:
Y luego usa:
He abierto un problema para agregar esta solución
refreshenv
desde Chocolatey.fuente
Solo para agregar a otras respuestas, puede asegurarse de no agregar uniones superfluas filtrando en caso de que el usuario tenga una ruta vacía.
O, más útilmente, si está ejecutando un script que se agrega a diferentes o múltiples variables de entorno, use una función para restablecerlas todas
fuente