Arasındaki fark nedir
SETX
veSET
?
Anladığım kadarıyla:
Her ikisi de ortam değişkenlerini ayarlamak için kullanılır,
SETX
kullanıcı değişkenleri içindir.
SET
Kabuk değişkenleri içindir.
Arasındaki fark nedir
SETX
veSET
?
Anladığım kadarıyla:
Her ikisi de ortam değişkenlerini ayarlamak için kullanılır,
SETX
kullanıcı değişkenleri içindir.
SET
Kabuk değişkenleri içindir.
Yanıtlar:
Korkarım o kadar basit değil. Çevre değişkenleri, önerdiğiniz gibi kapsamla sınırlı değildir, ancak fiilleri karşılaştırırken değişkendeki değerin kullanım ömrünün farklı olduğu doğrudur.
Set
Geçerli kabuğun (pencerenin) ortam değerlerini değiştirir ve değişiklik hemen yapılabilir, ancak geçicidir. Değişiklik, çalışmakta olan diğer mermileri etkilemeyecek ve kabuğu kapattığınız anda, yeniden çalıştırılana kadar yeni değer kaybedilir.
setx
değeri, gelecekteki tüm kabuklarını etkileyen kalıcı olarak değiştirir, ancak çalışmakta olan kabukların ortamını değiştirmez. Kabuktan çıkmanız ve değişiklik kullanılabilir duruma gelmeden önce yeniden açmanız gerekir, ancak yeniden değiştirinceye kadar değer değişmeden kalır.
Örnek için buraya bakınız: http://batcheero.blogspot.com/2008/02/set-and-setx.html
Aslında değişkeni üç kapsamda ayarlayabiliriz:
1. Kabuk
2. Kullanıcı
3. Sistem (Makine) veya Global
C:\Users\977246>set /?
Displays, sets, or removes cmd.exe environment variables.
SET [variable=[string]]
variable Specifies the environment-variable name.
string Specifies a series of characters to assign to the variable.
Type SET without parameters to display the current environment variables.
C:\Users\977246>setx /?
SetX has three ways of working:
Syntax 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
Syntax 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
Syntax 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
Description:
Creates or modifies environment variables in the user or system
environment. Can set variables based on arguments, regkeys or
file input.
To remove the variable set value to empty string as follows
Example: setx path ""
GUI Kullanıcı ve Sistem ortam değişkenlerinde.
Diğer cevaplayıcılar tarafından kaçırılan bir nokta eklemek.
Kullanıcı Ortamı Değişkeni yerine Sistem Ortamı Değişkenini ayarlamak için, sadece setx komutunda / m seçeneğini kullanmalı ve bunu yükseltilmiş (Yönetici) Bir Komut İstemi'nden çalıştırmalıyız.
setx variable value /m
Örnek: Komut istemini yönetici olarak aç ve çalıştır
setx Path "%Path%;C:\Users\User\Libs" /m
Açıklama: Yukarıdaki komut, mevcut Yol Değişkenine (Sistem Ortamı Değişkeni) "C: \ Users \ Kullanıcı \ Libs" ekleyecektir.
/ M argümanı olmadan, yalnızca Kullanıcı düzeyinde Bir Yol değişkeni üzerinde değişiklik yapar veya oluşturur.
Setx kullanım kılavuzundan,
/ M Değişkenin sistem çapında (HKEY_LOCAL_MACHINE) ortamda ayarlanması gerektiğini belirtir. Varsayılan değer, değişkeni HKEY_CURRENT_USER ortamı altında ayarlamaktır.
SET /?
veSETX /?
- bu size biraz fikir vermeli.