Mi sugerencia es esta:
He probado esto para agregar C:\oracle\x64\bin
a la variable de entorno de forma Path
permanente y esto funciona bien.
$ENV:PATH
La primera forma es simplemente hacer:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Pero este cambio no es permanente. $env:path
volverá de forma predeterminada a lo que era antes tan pronto como cierre su terminal PowerShell y lo vuelva a abrir. Esto se debe a que ha aplicado el cambio a nivel de sesión y no a nivel de origen (que es el nivel de registro). Para ver el valor global de $env:path
, haga:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
O más específicamente:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Ahora para cambiar esto, primero capturamos la ruta original que necesita ser modificada:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Ahora definimos cómo debería ser la nueva ruta. En este caso estamos agregando una nueva carpeta:
$newpath = “$oldpath;c:\path\to\folder”
Nota: asegúrese de que $newpath
ve como quiere que se vea. De lo contrario, podría dañar su sistema operativo.
Ahora aplique el nuevo valor:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Ahora haga una comprobación final de que se ve como espera:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Ahora puede reiniciar su terminal PowerShell (o incluso reiniciar la máquina) y ver que no vuelva a su valor anterior.
Tenga en cuenta que el orden de las rutas puede cambiar para que esté en orden alfabético, así que asegúrese de verificar toda la línea. Para hacerlo más fácil, puede dividir la salida en filas utilizando el punto y coma como delimitador:
($env:path).split(“;”)