Mein Vorschlag ist dieser:
Ich habe dies getestet, um C:\oracle\x64\bin
es Path
dauerhaft zur Umgebungsvariablen hinzuzufügen , und dies funktioniert einwandfrei.
$ENV:PATH
Der erste Weg ist einfach zu tun:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Diese Änderung ist jedoch nicht dauerhaft. $env:path
Sobald Sie Ihr PowerShell-Terminal schließen und erneut öffnen, wird standardmäßig auf den vorherigen Wert zurückgegriffen. Dies liegt daran, dass Sie die Änderung auf Sitzungsebene und nicht auf Quellenebene (der Registrierungsebene) angewendet haben. Gehen Sie wie folgt vor, um den globalen Wert von anzuzeigen $env:path
:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Oder genauer:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Um dies zu ändern, erfassen wir zunächst den ursprünglichen Pfad, der geändert werden muss:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Nun definieren wir, wie der neue Pfad aussehen soll. In diesem Fall fügen wir einen neuen Ordner hinzu:
$newpath = “$oldpath;c:\path\to\folder”
Hinweis: Stellen Sie sicher, dass die $newpath
Aussehen so ist, wie Sie es möchten. Wenn nicht, können Sie Ihr Betriebssystem beschädigen.
Wenden Sie nun den neuen Wert an:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Führen Sie nun eine letzte Überprüfung durch, um festzustellen, wie es aussieht:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Sie können jetzt Ihr PowerShell-Terminal neu starten (oder sogar den Computer neu starten) und feststellen, dass es nicht wieder auf den alten Wert zurückgesetzt wird.
Beachten Sie, dass sich die Reihenfolge der Pfade möglicherweise in alphabetischer Reihenfolge ändert. Überprüfen Sie daher die gesamte Zeile. Zur Vereinfachung können Sie die Ausgabe in Zeilen aufteilen, indem Sie das Semikolon als Trennzeichen verwenden:
($env:path).split(“;”)