Saya mencari cara mudah untuk menambah dan / atau memodifikasi dan / atau menghapus variabel lingkungan dari baris perintah. Khususnya, saya menemukan diri saya kadang-kadang dalam situasi ketika saya harus menambahkan beberapa variabel di cmd.exe.
Saya akan berterima kasih jika seseorang menunjukkan kepada saya cara non-GUI untuk memodifikasi (yaitu: menambahkan direktori baru ke) %PATH%
variabel.
Perubahan harus permanen, tidak hanya selama durasi cmd
sesi.
command-line
environment-variables
René Nyffenegger
sumber
sumber
Jawaban:
Metode Old School secara langsung memanipulasi variabel registri dengan perintah reg adalah pada uang. Begini cara melakukannya:
Buang itu ke dalam skrip satu baris bernama apath.bat yang terlihat seperti ini:
Kemudian, yang perlu Anda berikan adalah jalur direktori baru yang Anda tambahkan saat memanggil skrip dan Anda dipanggil:
mis: apath.bat% addonpath%
Meskipun Hinch benar. Cara terbaik untuk melakukannya jika Anda menggunakan Vista atau di atas adalah dengan menggunakan perintah SETX yang dirancang untuk memungkinkan kita menyebarkan variabel lingkungan tanpa risiko memanipulasi registri secara langsung dengan dengan perintah reg yang dapat menyelamatkan mesin Anda jika Anda memanipulasi variabel ENV cukup untuk menggunakannya dengan cepat.
sumber
Anda bisa menggunakan setx.
Variabel pengguna:
Variabel sistem:
sumber
echo %PATH%
, Anda melihatnya digabungkan bersama, seperti<system path>;<user path>
. Dengan demikian, perintah pertama akan memaksa item saat ini dari jalur sistem muncul di jalur pengguna (yang tidak terlalu buruk), sedangkan perintah kedua akan menyebabkan item saat ini dari jalur pengguna muncul di jalur sistem (yang tidak dapat diterima).Anda bisa menggunakan
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun
kunci registri untuk menunjuk pada file batch, untuk memungkinkan Anda membuat perubahan semi-permanen tanpa menggali dialog pengaturan misterius.sumber
Jika Anda tidak ingin menggunakan GUI (seperti pada Control Panel, System, Advanced, Environment Variables, PATH) Anda mungkin dapat menggunakan
REG
untuk mengaturHKCU\Environment\PATH
.%PATH%
REG ADD HKCU\Environment /v PATH /t REG\_EXPAND\_SZ /d "%PATH%" /f
Itu
/f
kekuatan Timpa dari nilai yang ada sehingga Anda tidak perlu secara interaktif menjawab pertanyaan itu.Edit:
%PATH%
perlu dikutip.Sunting: Perlu dicatat juga bahwa ini mungkin membutuhkan reboot atau login ulang sebelum mulai berlaku. Sementara mengubahnya di GUI langsung berlaku (untuk
cmd.exe
sesi baru ).Referensi: http://support.microsoft.com/kb/104011
Seperti disebutkan dalam referensi, jika Anda ingin menulis beberapa kode, Anda dapat mengirim WM_SETTINGCHANGE dan itu harus menghindari persyaratan masuk / keluar.
sumber
REG QUERY HKCU\Environment /v PATH
.Sangat mudah untuk mengubah jalur dalam proses cmd.exe saat ini:
Anda selalu dapat melakukan BANTUAN PATH untuk bantuan pada perintah PATH.
sumber
Untuk perubahan permanen sistem yang benar-benar permanen, Anda benar-benar ingin menggunakan panel kontrol Sistem (alias My Computer -> Properties -> Advanced -> Variabel Lingkungan, untuk WinXP). Pengaturan di sana memengaruhi seluruh sistem Anda, termasuk program GUI di shell Explorer.
Jika Anda hanya perlu perubahan ini di
cmd.exe
shell, Anda bisa menjalankan batchfile yang mengaturnya setiap kali Anda memulai jendela cmd.exe. Jawaban Phoshi menyebutkanHKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun
, yang sepertinya merupakan pilihan yang sangat baik - mudah untuk membuat perubahan kecil, dan jalankan kembali dari commandline jika Anda perlu. Tetapi ini tidak akan memengaruhi jendela GUI atau shell Explorer.Saya sebenarnya terkejut bahwa Sysinternals tidak memiliki utilitas yang mampu melakukan ini. Mungkin PStools lain bisa melakukannya?
sumber
Banyak cara untuk melakukan ini. REG ADD adalah satu, atau REG IMPOR (menggunakan file .REG yang diekspor dari komputer lain). SETX / M adalah hal lain. Anda juga dapat mendorongnya menggunakan Preferensi Kebijakan Grup (cara termudah untuk menggunakan sejumlah besar komputer)
sumber
Pikiran lain yang tidak disebutkan di sini, buat skrip autohotkey yang akan meluncurkan panel kontrol dan masukkan untuk Anda. Ini bekerja dengan baik jika Anda sudah menjadi pengguna AHK :-)
https://autohotkey.com/board/topic/63210-modify-system-path-gui/
Juga bagaimana dengan mengedit hklm / system / currentcontrolset001 / control / session manager / environment: path key? Tetapi kunci yang sama berada di bawah hklm / system / currentcontrolset002 dan hklm / system / currentcontrolset. Tampaknya ini mungkin benar, per di sini: /programming/3304463/how-do-i-modify-the-path-environment-variable-when-running-an-inno-setup-install
sumber