Moja propozycja jest następująca:
Przetestowałem to, aby dodać C:\oracle\x64\bin
do zmiennej środowiskowej na Path
stałe i działa dobrze.
$ENV:PATH
Pierwszy sposób to po prostu zrobić:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Ale ta zmiana nie jest trwała. $env:path
wróci do poprzedniego stanu, jak tylko zamkniesz terminal PowerShell i ponownie go otworzysz. Jest tak, ponieważ zastosowałeś zmianę na poziomie sesji, a nie na poziomie źródła (którym jest poziom rejestru). Aby wyświetlić globalną wartość $env:path
, wykonaj:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Lub dokładniej:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Teraz, aby to zmienić, najpierw przechwytujemy oryginalną ścieżkę, którą należy zmodyfikować:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Teraz określamy, jak powinna wyglądać nowa ścieżka. W tym przypadku dodajemy nowy folder:
$newpath = “$oldpath;c:\path\to\folder”
Uwaga: Upewnij się, że $newpath
wygląda tak, jak chcesz. Jeśli nie, możesz uszkodzić swój system operacyjny.
Teraz zastosuj nową wartość:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Teraz wykonaj ostatnią kontrolę, czy wygląda to tak, jak się spodziewasz:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Możesz teraz ponownie uruchomić terminal PowerShell (lub nawet zrestartować komputer) i zobaczyć, że nie przywróci on poprzedniej wartości.
Pamiętaj, że kolejność ścieżek może się zmienić, tak aby była w kolejności alfabetycznej, więc upewnij się, że sprawdziłeś całą linię. Aby to ułatwić, możesz podzielić dane wyjściowe na wiersze, używając średnika jako separatora:
($env:path).split(“;”)