Đề nghị của tôi là cái này:
Tôi đã thử nghiệm điều này để thêm C:\oracle\x64\bin
vào biến môi trường Path
vĩnh viễn và điều này hoạt động tốt.
$ENV:PATH
Cách đầu tiên đơn giản là làm:
$ENV:PATH=”$ENV:PATH;c:\path\to\folder”
Nhưng sự thay đổi này không phải là vĩnh viễn. $env:path
sẽ mặc định trở lại như trước đây ngay sau khi bạn đóng thiết bị đầu cuối PowerShell và mở lại. Đó là bởi vì bạn đã áp dụng thay đổi ở cấp phiên chứ không phải ở cấp nguồn (là cấp đăng ký). Để xem giá trị toàn cầu của $env:path
, hãy làm:
Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH
Hay cụ thể hơn:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Bây giờ để thay đổi điều này, đầu tiên chúng ta nắm bắt đường dẫn gốc cần được sửa đổi:
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Bây giờ chúng ta xác định đường dẫn mới sẽ trông như thế nào. Trong trường hợp này, chúng tôi đang nối thêm một thư mục mới:
$newpath = “$oldpath;c:\path\to\folder”
Lưu ý: Hãy chắc chắn rằng $newpath
vẻ ngoài bạn muốn nó trông như thế nào. Nếu không, sau đó bạn có thể làm hỏng hệ điều hành của bạn.
Bây giờ áp dụng giá trị mới:
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH -Value $newPath
Bây giờ hãy thực hiện một kiểm tra cuối cùng rằng nó trông giống như cách bạn mong đợi:
(Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).Path
Bây giờ bạn có thể khởi động lại thiết bị đầu cuối PowerShell của mình (hoặc thậm chí khởi động lại máy) và thấy rằng nó không quay trở lại giá trị cũ.
Lưu ý thứ tự của các đường dẫn có thể thay đổi để nó theo thứ tự bảng chữ cái, vì vậy hãy đảm bảo bạn kiểm tra toàn bộ dòng. Để dễ dàng hơn, bạn có thể chia đầu ra thành các hàng bằng cách sử dụng dấu chấm phẩy làm dấu phân cách:
($env:path).split(“;”)