İşler, Microsoft'un göründüğünden biraz daha karmaşık.
Ortam değişkenlerinin çoğu Kayıt Defterinde saklanır. Bu, onları regkomutu kullanarak sorgulayabileceğiniz anlamına gelir.
Tüm kullanıcılar için ortak
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Mevcut kullanıcı oturumuna özgü
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
Kullanıcıya göre ayarla
setx variable valueKomutu kullanarak kendi ortam değişkeninizi kalıcı olarak ayarlarsanız , kayıt defterinde saklanır, ancak hemen kullanılabilir duruma getirilmez.
C:\>setx test removeme
SUCCESS: Specified value was saved.
C:\>reg query "HKCU\Environment"
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
test REG_SZ removeme
set variable=valueKomutu kullanırsanız değişken hemen kullanılabilir ancak kayıt defterinde saklanmaz. regGösterilse de, onları listelemek için komutu kullanamazsınız set. Bu geçici ortam değişkenleri, komut istemi oturumunu sonlandırdıktan sonra da devam etmez.
Dinamik Çevre Değişkenleri
Bu şekilde kayıt defterinde saklanmayan ortam değişkenleri gibi davranan yapılar vardır. Örneğin:
echo %TIME%
setx test removemeo zaman bir şeyleset test %test%listelenen tüm değişkenleri basit bir şekilde listeleyebilesinizsetmi? Talep üzerine hepsini açık hale getirmek için bir komut / toplu komut dosyası uygulamanın mümkün olduğunu düşünüyordum ...