Моя пропозиція така:
Я перевірив це, щоб постійно додавати C:\oracle\x64\bin
змінну середовища, Path
і це працює чудово.
$ENV:PATH
Перший спосіб - це просто зробити:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Але ця зміна не є постійною. $env:path
за замовчуванням повернеться до того, що було раніше, як тільки ви закриєте термінал PowerShell і знову відкриєте його. Це тому, що ви застосували зміни на рівні сеансу, а не на рівні джерела (який є рівнем реєстру). Щоб переглянути глобальну цінність $env:path
, виконайте:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Або конкретніше:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Тепер, щоб змінити це, спочатку ми фіксуємо початковий шлях, який потрібно змінити:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Тепер ми визначимо, як повинен виглядати новий шлях. У цьому випадку ми додаємо нову папку:
$newpath = “$oldpath;c:\path\to\folder”
Примітка. Переконайтеся, що $newpath
виглядає так, як ви хочете. Якщо ні, то ви можете пошкодити вашу ОС.
Тепер застосуйте нове значення:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Тепер зробіть останню перевірку, як це виглядає, як ви очікуєте цього:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Тепер ви можете перезапустити термінал PowerShell (або навіть перезавантажити машину) і побачити, що він не повертається до старого значення знову.
Зверніть увагу, що впорядкування шляхів може змінюватися так, щоб це було в алфавітному порядку, тому обов'язково перевірте весь рядок. Щоб зробити це простіше, ви можете розділити результат на рядки, використовуючи крапку з двокрапкою як роздільник:
($env:path).split(“;”)