Il mio suggerimento è questo:
Ho provato questo per aggiungere permanentemente C:\oracle\x64\bin
alla variabile d'ambiente Path
e questo funziona bene.
$ENV:PATH
Il primo modo è semplicemente fare:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Ma questo cambiamento non è permanente. $env:path
tornerà automaticamente a quello che era prima non appena chiudi il tuo terminale PowerShell e lo riapri di nuovo. Questo perché hai applicato la modifica a livello di sessione e non a livello di origine (che è il livello di registro). Per visualizzare il valore globale di $env:path
, eseguire:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
O più precisamente:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Ora per cambiare questo, prima catturiamo il percorso originale che deve essere modificato:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Ora definiamo come dovrebbe apparire il nuovo percorso. In questo caso stiamo aggiungendo una nuova cartella:
$newpath = “$oldpath;c:\path\to\folder”
Nota: assicurati che l' $newpath
aspetto sia come desideri. Altrimenti, potresti danneggiare il tuo sistema operativo.
Ora applica il nuovo valore:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Ora fai un controllo finale che assomigli a come ti aspetti che:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Ora puoi riavviare il tuo terminale PowerShell (o persino riavviare il computer) e vedere che non ripristina nuovamente il suo vecchio valore.
Nota che l'ordine dei percorsi può cambiare in modo che sia in ordine alfabetico, quindi assicurati di controllare l'intera linea. Per semplificare, puoi dividere l'output in righe usando i punti e virgola come delimitatore:
($env:path).split(“;”)