Cara yang lebih mudah untuk mengubah variabel lingkungan di Windows 8? [duplikat]

27

Kemungkinan Duplikat:
Apa itu PATH dan variabel lingkungan lainnya, dan bagaimana saya bisa mengatur atau menggunakannya?

Saya tahu bahwa saya dapat mengedit variabel lingkungan saya di windows 8 dengan masuk ke

Start -> All Apps -> Control panel -> System -> 
    Advanced System Settings -> Advanced -> Environment variables.

Tapi jujur, ini sangat rumit.

Apakah ada cara yang lebih mudah untuk mengubah variabel lingkungan di Windows 8?

Sebagai contoh jika saya hanya ingin menambahkan folder baru ke PATH, sangat menjengkelkan untuk melewati semua langkah ini. UI juga menyebalkan, karena sangat menyakitkan untuk mengedit nilai variabel panjang dengan input teks kecil.

Persyaratan 1: Saya perlu perubahan untuk bertahan (mis. Ketika saya menggunakan setdi konsol perubahan hilang ketika saya menutup konsol)

Persyaratan 2: Saya lebih suka solusi yang tidak melibatkan pemasangan perangkat lunak tambahan, karena ini adalah jenis masalah yang saya temukan setiap kali saya mengkonfigurasi kotak Windows baru.

jsalonen
sumber
Posting yang bagus tentang subjek: windows-commandline.com/set-path-command-line
Royi

Jawaban:

32

Sudahkah Anda menjelajahi perintah set dan setx ? Dengan mereka, Anda dapat mengatur variabel persisten. Selain itu, nilai akan diterapkan segera, bukan setelah masuk berikutnya.

Contoh SETperintah windows :

Cetak variabel lingkungan PATH:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Gunakan perintah set untuk mengatur variabel PATH

C:\Users\Charity>set PATH=%PATH%;C:\epicpath
C:\Users\Charity>

Perintah di atas hanya berlaku untuk jendela saat ini dan perubahan akan hilang ketika jendela cmd ditutup.

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\epicpath

Contoh SETXperintah windows :

Cetak variabel lingkungan PATH:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

Gunakan setx untuk mengatur variabel lingkungan:

C:\Users\Charity>setx PATH "%PATH%;C:\zombiepoke"
SUCCESS: Specified value was saved.

Tutup dan buka kembali terminal cmd, lalu jalankan:

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\zombiepoke

Anda harus berhati-hati dengan tanda kutip ganda. Jika Anda membiarkan tanda kutip masuk ke variabel path Anda, itu mungkin merusak sesuatu. Namun mereka diperlukan untuk menentukan tambahan pada% PATH% asli.

Yury
sumber
1
Terima kasih atas tipnya! Saya mencoba setx PATH=%PATH%;;C:\testtetapi saya mendapatkan kesalahan sintaks :(
jsalonen
2
Tidak ada = tanda ketika menggunakan setx. Apakah setx /?
EBGreen
4
No args "setx" menetapkan variabel hanya dalam konteks pengguna. Untuk mengatur dalam konteks sistem gunakan "setx / M". Tidak menyadari hal ini dapat membingungkan Anda karena "echo% PATH%" akan menampilkan sistem dan nilai pengguna yang digabungkan.
Vituel
Catatan, Anda harus memulai ulang shell setelah Anda membuat perubahan ini agar berlaku.
Doug
minor note: set path= ~ echo %PATH% [ set pathmenunjukkan juga nilai PATHEXT]
gerryLowry
4

Saya mengubahnya di Powershell. Misalnya untuk menambahkan folder ke variabel PATH, buka PowerShell kemudian:

$newPath = $env:Path + ';C:\Temp'
[Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')

Itu akan mengubahnya untuk semua pengguna. Untuk mengubahnya hanya untuk pengguna yang menjalankan perintah, ubah parameter terakhir menjadi 'Pengguna'. Atau untuk mengubahnya sementara di sesi ini:

$env:Path += ';C:\temp'
EBGreen
sumber
besar! bagaimana Anda melakukan rangkaian $ env: Path + '; C: \ Temp' pada command prompt? Solusi Set & Setx di sini menjelaskan cara mengatur seluruh jalur pada command prompt, tetapi tidak ada yang menjelaskan cara menambahkan sesuatu ke jalur yang ada.
Johnny mengapa
Berikut adalah cara untuk menambahkan sesuatu ke jalur yang ada di command prompt. / M digunakan untuk mengubah variabel SISTEM, bukan variabel USER. Kutipan digunakan karena "My Folder" berisi spasi: setx PATH "% PATH%; C: \ My Folder" / M
johny why
Satu-satunya masalah dengan menggunakan command prompt adalah 255 karakter batas, dan sistem PATH cenderung melebihi itu (terutama jika Anda menambahkan direktori lebih banyak). Oleh karena itu, Powershell adalah cara untuk pergi (saya bisa saja salah, tetapi saya percaya tidak ada batasan jumlah karakter dengan Powershell).
Johnny mengapa
3

Cukup mudah di baris perintah:

set MyVar=HelloWorld

(untuk sampai ke baris perintah, ketik cmddari layar mulai>.)

Untuk melihat variabel:

echo %MyVar%

Gunakan setxuntuk mengatur variabel secara permanen. Sintaksnya sedikit berbeda. Coba cari di sini , atau ada banyak situs lain di luar sana yang akan memberi tahu Anda cara menggunakannya.

ACarter
sumber
Ya terima kasih sobat, saya sudah tahu ini, tetapi masalahnya adalah jika Anda melakukan perubahan dengan cara ini mereka tidak bertahan - yaitu ketika saya menutup dan membuka kembali baris perintah variabel berubah menjadi default. Memperbarui pertanyaan saya untuk mencerminkan ini - maaf.
jsalonen
Apakah Anda tahu jika saya bisa melakukan setyang akan bertahan?
jsalonen
1
setx untuk perubahan permanen
EBGreen
Apakah ada cara untuk mengatur variabel hanya sampai restart berikutnya? Kalau tidak, jika saya menggunakan set dari program lain (Katakanlah perintah OS dari Python atau MATLAB), apakah akan tahan selama sesi program terbuka?
Royi