Saya harus mengatur variabel lingkungan pada mesin windows yang berbeda, tetapi saya tidak ingin repot mengubahnya secara manual dengan membuka layar properti "My Computer"
Saya ingin melakukannya dari baris perintah, dengan file batch. Sejauh yang saya mengerti, menggunakan set hanya akan mengubah variabel untuk proses yang akan saya panggil di jendela perintah.
Saya ingin mengaturnya dengan pasti, jadi nanti, ketika menjalankan proses baru, itu akan menggunakan pengaturan baru yang telah saya tetapkan. Apakah ada cara untuk melakukannya dari baris perintah?
Jawaban:
Gunakan perintah SETX (perhatikan akhiran 'x') untuk mengatur variabel yang tetap ada setelah jendela cmd ditutup.
Misalnya, untuk menyetel env var "foo" dengan nilai "bar":
Meskipun ada baiknya membaca 'catatan' yang ditampilkan jika Anda mencetak penggunaan (
setx /?
), khususnya:Di PowerShell, perintah [Environment] :: SetEnvironmentVariable .
sumber
[Environment]::SetEnvironmentVariable('PATH', "Whatever you need it to be", "Machine")
melihat msdn.microsoft.com/en-us/library/96xafkes(v=vs.110).aspxThe dokumentasi MSDN untuk variabel lingkungan memberitahu Anda apa yang harus dilakukan:
Anda tentu saja memerlukan hak admin untuk melakukan ini. Saya tidak tahu cara untuk menyiarkan pesan windows dari batch Windows jadi Anda harus menulis program kecil untuk melakukan ini.
sumber
setx
bawah ini?sumber
setx
(dan tanpa kemungkinan untuk menginstalnya). Penggunaan sederhana (dalam kasus saya):wsh.Environment("user").Item("myVar") = "my value"
Memang SET TEST_VARIABLE = nilai berfungsi hanya untuk proses saat ini, jadi
SETX
diperlukan. Contoh cepat untuk menyimpan variabel lingkungan secara permanen di tingkat pengguna.SETX TEST_VARIABLE etc
,. Belum diterapkan (echo %TEST_VARIABLE%
acara%TEST_VARIABLE%
,echo %TEST_VARIABLE%
pertunjukkanetc
.etc
.sumber
sumber