Minha sugestão é esta:
Eu testei isso para adicionar C:\oracle\x64\bin
à variável de ambiente Path
permanentemente e isso funciona bem.
$ENV:PATH
A primeira maneira é simplesmente fazer:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Mas essa mudança não é permanente. $env:path
voltará ao padrão anterior, assim que você fechar o terminal do PowerShell e reabri-lo novamente. Isso ocorre porque você aplicou a alteração no nível da sessão e não no nível de origem (que é o nível do registro). Para visualizar o valor global de $env:path
, faça:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Ou mais especificamente:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Agora, para mudar isso, primeiro capturamos o caminho original que precisa ser modificado:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Agora, definimos como deve ser o novo caminho. Nesse caso, anexamos uma nova pasta:
$newpath = “$oldpath;c:\path\to\folder”
Nota: Certifique-se de que tenha a $newpath
aparência que deseja. Caso contrário, você pode danificar seu sistema operacional.
Agora aplique o novo valor:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Agora, faça uma verificação final da aparência que você espera:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Agora você pode reiniciar o terminal do PowerShell (ou até mesmo reiniciar o computador) e verificar se ele não reverte novamente para o valor antigo.
Observe que a ordem dos caminhos pode mudar, de modo que esteja em ordem alfabética; portanto, verifique a linha inteira. Para facilitar, você pode dividir a saída em linhas usando o ponto e vírgula como um delimitador:
($env:path).split(“;”)