Ma suggestion est celle-ci:
J'ai testé cela pour l'ajouter C:\oracle\x64\bin
à la variable d'environnement en Path
permanence et cela fonctionne bien.
$ENV:PATH
La première consiste simplement à faire:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Mais ce changement n'est pas permanent. $env:path
reviendra par défaut à ce qu'il était avant dès que vous fermez votre terminal PowerShell et que vous le rouvrez à nouveau. C'est parce que vous avez appliqué la modification au niveau de la session et non au niveau source (qui est le niveau du registre). Pour afficher la valeur globale de $env:path
, procédez comme suit:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Ou plus précisément:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Maintenant, pour changer cela, nous capturons d'abord le chemin d'origine qui doit être modifié:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Nous définissons maintenant à quoi devrait ressembler le nouveau chemin. Dans ce cas, nous ajoutons un nouveau dossier:
$newpath = “$oldpath;c:\path\to\folder”
Remarque: assurez-vous que l' $newpath
apparence vous convient. Sinon, vous pourriez endommager votre système d'exploitation.
Appliquez maintenant la nouvelle valeur:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Maintenant, vérifiez une dernière fois que cela ressemble à ce que vous attendez:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Vous pouvez maintenant redémarrer votre terminal PowerShell (ou même redémarrer la machine) et voir qu'il ne revient pas à son ancienne valeur.
Notez que l'ordre des chemins peut changer pour qu'il soit dans l'ordre alphabétique, alors assurez-vous de vérifier toute la ligne. Pour le rendre plus facile, vous pouvez diviser la sortie en lignes en utilisant le point-virgule comme délimiteur:
($env:path).split(“;”)