Windows toplu iş dosyasından sistem ortamı değişkeni mi ayarlıyorsunuz?


195

Windows 7'deki bir komut isteminden (veya hatta bu konu için XP) sistem düzeyinde bir ortam değişkeni ayarlamak mümkün mü? Yükseltilmiş bir komut isteminden çalıştırıyorum.

setCommand ( set name=value) yöntemini kullandığımda, ortam değişkeni yalnızca komut isteminin oturumu için geçerli görünüyor.

Yanıtlar:


179

XP Destek Araçları (XP CD'nizden yüklenebilir) şu programla birlikte gelir setx.exe:

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

Bence Windows 7 setxstandart bir kurulumun parçası olarak geliyor .


7
Windows 7 (belki de Vista zaten) küçük bir değişiklikle setx standardına sahip mi? hiçbir -ibayrak ve sadece çalışan setx /?tüm yardım + örnekler görüntüler
stijn

3
Her zaman yazarak yolunuzun üzerindeki bu programı olup olmadığını görmek için kontrol edebilirsiniz unutmayın whereve ardından programın (adı bu yüzden, bu durumda where setx.exebir Server 2008 ve Sunucu 2008SP2 ben her iki durumda da en varolduğunu tespit kutu bu test%windir%\System32\setx.exe
aolszowka

2
@stijn - Win7 sürümü, bayrak tanıtıcısını resmen -eğik çizgiden resmen değiştirdi /. Ancak, -sürüm hala çalışıyor gibi görünüyor .
TED

2
Setx

XP SP2 Destek Araçları tarafından sağlanan setx, eğik çizgi gerektirir /ve tire -çalışmaz. setx variable value /m
Keith

137

setx.exeKomut satırında JAVA_HOME'u nasıl ayarlayacağınız için basit bir örnek :

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

Bu, geçerli kullanıcı için ortam değişkeni "JAVA_HOME" ayarlayacaktır. Tüm kullanıcılar için bir değişken ayarlamak istiyorsanız, "-m" seçeneğini kullanmanız gerekir. İşte bir örnek:

setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

Not : Bu komutu Yönetici olarak yürütmeniz gerekir.

Not : Komut çalıştırmak için emin olun setx bir gelen komut satırı Yönetici penceresinin


7
ayrıca bazı araçların JAVA_HOME içindeki boşluklardan hoşlanmadığını unutmayın, bu yüzden böyle kullanmaya değer Progra~1: setx /M JAVA_HOME "C:\Progra~1\Java\jdk1.7.0_09"
samael

1
Tüm hayatım boyunca bu nerede oldu.
Philip Rego

20

SETX aracılığıyla bir değişken ayarlarsanız, bu değişkeni veya bu değişimleri hemen kullanamazsınız. Kullanmak istediğiniz işlemleri yeniden başlatmanız gerekir.

Doğrudan ayarlama sürecinde ayarlamak için aşağıdaki sırayı kullanın (genel değişkenleri ayarladıktan sonra bazı init şeyler yapan komut dosyalarında mükemmel çalışır) :

SET XYZ=test
SETX XYZ test

Teşekkür ederim, bu beni deli ediyordu! CMD.EXE normal bir konsol gibi davranmak için umutsuzca bir yükseltme gerekiyor ...!
Salvador Valencia

Bunu anlamıyorum: bu 2 satırı nerede çalıştırırım?
Danijel

1
Komutu refreshenv, yeni değişkenleri kullanmak için setx'i kullandıktan sonra da yürütebilirsiniz .
BrianHVB

@BrianHVB refreshenvbir komut olarak tanınmadı. Bunu içinde mi yapıyorsunuz cmdyoksa powershell? (EDIT: her ikisinde de test edilmiştir, her iki konsolda da çalışmaz)
bigp

@bigp oops, haklısın. Chocolatey kurulduğunda eklenen bir komuttur. Tüm sistemlerimde çikolata var ve bakana kadar fark etmedim.
BrianHVB

2

XP için, "RAPIDEE" (Hızlı Çevre Düzenleyicisi) adlı bir (ücretsiz / donateware) aracı kullandım, ancak SETX kesinlikle Win 7 için yeterlidir (bunu daha önce bilmiyordum).


2

Sistem değişkenleri CMD ve kayıt defteri ile ayarlanabilir. reg sorgusu "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PATH

Yaygın olarak kullanılan tüm CMD kodları ve sistem değişkenleri burada verilmiştir: CMD kullanarak Windows sistem ortamı değişkenlerini ayarlayın .

CMD'yi açın ve Set yazın

Sistem değişkeninin tüm değerlerini alacaksınız.

Tür set java pencerenizi OS yüklü java yolunu detayları bilmek.


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.