Windows 8'de ortam değişkenlerini değiştirmenin daha kolay yolu? [çift]


27

Olası Çoğalt:
PATH ve diğer ortam değişkenleri nelerdir ve bunları nasıl ayarlayabilir veya kullanabilirim?

Windows 8’de ortam değişkenlerimi düzenleyebileceğimi biliyorum

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

Ama dürüst olmak gerekirse, bu gülünç bir şekilde karmaşık.

Windows 8'de ortam değişkenlerini değiştirmenin daha kolay bir yolu var mı?

Mesela, PATH'e yeni bir klasör eklemek istersem, tüm bu adımlardan geçmek gerçekten can sıkıcı. Kullanıcı arayüzü de berbat, çünkü küçük metin girişi ile uzun değişken değerlerini düzenlemek gerçekten acı verici.

Gereksinim 1: Değişikliklerin devam etmesi gerekiyor (örneğin setkonsolu kullandığımda konsolu kapattığımda değişiklikler kayboluyor)

Gereksinim 2: Ekstra yazılım yüklemesini içermeyen bir çözümü tercih ederim, çünkü bu, yeni bir Windows kutusu yapılandırdığımda rastlayacağım bir problem.


Konu hakkında güzel bir yazı: windows-commandline.com/set-path-command-line
Royi

Yanıtlar:


32

Set and setx komutunu incelediniz mi? Onlarla kalıcı bir değişken ayarlayabilirsiniz. Ayrıca, değer bir sonraki oturum açmadan sonra hemen uygulanacaktır.

Windows SETkomutu örneği :

PATH ortam değişkenini yazdırın:

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

PATH değişkenini ayarlamak için set komutunu kullanın

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

Yukarıdaki komut yalnızca geçerli pencereye uygulanır ve cmd penceresi kapatıldığında değişiklik kaybolur.

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

Windows SETXkomutu örneği :

PATH ortam değişkenini yazdırın:

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

Ortam değişkenini ayarlamak için setx kullanın:

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

Cmd terminalini kapatıp tekrar açın, ardından çalıştırın:

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

Çifte alıntı yaparken dikkatli olmalısınız. Tırnakların yol değişkeninize girmesine izin verirseniz, bir şeyleri kırabilir. Ancak, orijinal% PATH% 'ye ek ekleme yapmak için gereklidirler.


1
Bahşiş için teşekkürler! Denedim setx PATH=%PATH%;;C:\testama sözdizimi hatası alıyorum :(
jsalonen

2
Setx kullanırken = işareti yoktur. Setx / yap?
EBGreen

4
"Arg" dizisi yok, değişkeni yalnızca kullanıcı bağlamında ayarlar. Sistem bağlamında ayarlamak için "setx / M" kullanın. Bunun farkında olmamak sizi şaşırtabilir çünkü "echo% PATH%" sistemi ve birleştirilmiş kullanıcı değerlerini gösterir.
Vituel

Dikkat edin, bu değişikliğin etkili olması için kabuğunu yeniden başlatmanız gerekir.
Doug

küçük not: set path= ~ echo %PATH% [ set pathdeğeri de gösterir PATHEXT]
gerryLowry


4

Onları Powershell'de değiştiriyorum. Örneğin PATH değişkenine bir klasör eklemek için powershell'i açın ve ardından:

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

Bu, tüm kullanıcılar için değişecektir. Yalnızca komutu çalıştıran kullanıcı için değiştirmek için, son parametreyi 'Kullanıcı' olarak değiştirin. Veya bu oturumda geçici olarak değiştirmek için:

$env:Path += ';C:\temp'

harika! $ env: Path + '; C: \ Temp' birleşimini komut isteminde nasıl yaparsınız? Set & Setx çözümleri burada yolun tamamını komut isteminde nasıl ayarlayacağınızı açıklar, ancak hiçbiri mevcut yola nasıl ekleyeceğinizi açıklamaz.
johny neden

Komut isteminde mevcut yola bir şey nasıl eklenir? / M, USER değişkeninden ziyade SYSTEM değişkenini değiştirmek için kullanılır. Setx Yol "% path%; C: \ Klasörüm'e" Tırnak "Klasörüm'e" boşluk içerdiği kullanılan / E
johny neden

Komut istemini kullanmakla ilgili tek sorun 255 karakter sınırıdır ve PATH sisteminin bunu aşması muhtemeldir (özellikle daha fazla dizin ekliyorsanız). Bu nedenle, Powershell gitmenin yoludur (yanılıyor olabilirim ama Powershell ile karakter sayımı sınırlaması olmadığına inanıyorum).
johny neden

3

Komut satırında oldukça kolay:

set MyVar=HelloWorld

(komut satırına gitmek için cmd, başlangıç ​​ekranından>> yazın.)

Bir değişkeni görüntülemek için:

echo %MyVar%

setxDeğişken kalıcı olarak ayarlamak için kullanın . Sözdizimi biraz farklıdır. Buraya bakmayı deneyin , yoksa nasıl kullanılacağını anlatan birçok site var.


Evet, teşekkürler dostum bunu zaten biliyorum ama sorun şu şekilde değişirse devam edemezler - yani komut satırını kapatıp yeniden açtığımda değişkenler varsayılanlara geri döndürülür. Sorunu yansıtacak sorum güncellendi - üzgünüm.
jsalonen

Bunu setdevam ettirebilecek bir şey yapabilirmiyim biliyor musun ?
jsalonen

1
setx kalıcı değişiklikler için
EBGreen

Değişkeni sadece bir sonraki yeniden başlatmaya kadar ayarlamanın bir yolu var mı? Aksi takdirde, başka bir programdan set kullanırsam (Python veya MATLAB'dan OS komutu diyelim), programın oturumu açık olduğu sürece geçerli mi?
Royi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.