Masalah saat menonaktifkan lintasan menggunakan PATH Manager

0

Saya ingin menggunakannya Manajer PATH untuk menonaktifkan / mengaktifkan jalur yang diberikan dari variabel lingkungan PATH dengan cara yang mudah.

Saya mencoba menonaktifkan lintasan C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9, jadi saya hapus centang pada kotak "Aktif" dan "Sistem" yang sesuai, lalu tekan tombol simpan:

enter image description here

Saya kemudian memulai jendela cmd.exe baru, tapi saya Lihat bahwa C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9 masih di jalur:

enter image description here

Saya memeriksa variabel PATH pengguna dan sistem, tidak mengandung C:\programming\python\WinPython-32bit-2.7.9.3\python-2.7.9 lagi.

Apakah saya melewatkan sesuatu?

Franck Dernoncourt
sumber
Saya berasumsi Anda me-restart sistem Anda sebelum Anda memeriksa?
Ramhound
@Ramhound Ketika saya mengedit jalan menggunakan kotak edit Windows kecil dan tidak nyaman saya hanya perlu memulai cmd.exe baru. Mengapa saya harus memulai ulang sistem saya dalam kasus ini? (Meskipun mungkin memang berhasil, tetapi saya memiliki banyak komputasi yang berjalan sehingga saya tidak dapat segera memulai kembali)
Franck Dernoncourt
Baik sebelum Anda mengatakan itu tidak berhasil, Anda harus mencoba.
Ramhound
@Ramhound Ketika saya mengedit lintasan menggunakan kotak edit Windows kecil dan tidak nyaman saya hanya perlu memulai cmd.exe baru agar perubahan lintasan diperhitungkan. Dalam hal ini memulai cmd.exe baru tampaknya tidak berfungsi, maka pertanyaan saya.
Franck Dernoncourt

Jawaban:

1

Saya baru saja memeriksa kode sumbernya. Program hanya mengedit kunci registri yang menyimpan PATH informasi - & gt; SYSTEM\CurrentControlSet\Control\Session Manager\Environment\path

Saya tidak melihat perintah apa pun untuk memberi tahu sistem operasi bahwa kuncinya berubah. Jadi tampaknya memang diperlukan reboot. Opsi dapat ditemukan di sini: https://stackoverflow.com/questions/3189652/using-rundll32-user32-dll-to-indicate-that-a-users-environment-has-changed

Masalah lain: Ketika mengklik sebuah active perubahan kotak centang tidak disimpan. Dan tombol simpan tetap dinonaktifkan.

Ringkasan: Apa yang berfungsi:

  1. Klik active checkbox (ini yang sebenarnya Anda inginkan)
  2. Tambahkan jalur baru (sekarang tombol simpan diaktifkan)
  3. Klik simpan (sekarang perubahan disimpan dalam registri)
  4. Buka jendela PowerShell
  5. Mengetik [Environment]::SetEnvironmentVariable("dummy","anyValue","User") (Nilai terakhir bisa jadi Machine, User atau Process. ini mengirimkan lingkungan pembaruan yang disiarkan ke sistem)
  6. Buka cmd dan ketik baru echo %path% (atau gunakan where ) (sekarang perubahan dari 1. terlihat)

Jadi, gunakan PATH Manager sama sekali tidak nyaman. Namun, Anda bisa menggunakan skrip PowerShell untuk mengedit PATH dan segera terapkan perubahan - & gt; http://poshcode.org/3537

Jack Miller
sumber