Hal-hal sedikit lebih rumit daripada yang kadang-kadang terlihat oleh Microsoft.
Banyak variabel lingkungan disimpan dalam Registry. Ini berarti Anda dapat meminta mereka menggunakan reg
perintah
Umum untuk semua pengguna
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Khusus untuk sesi pengguna saat ini
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
Ditetapkan oleh pengguna
Jika Anda secara permanen mengatur variabel lingkungan Anda sendiri menggunakan setx variable value
perintah itu disimpan dalam registri tetapi tidak segera tersedia.
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
Jika Anda menggunakan set variable=value
perintah, variabel tersedia segera tetapi tidak disimpan dalam registri. Anda tidak dapat menggunakan reg
perintah untuk mendaftar mereka meskipun mereka ditunjukkan oleh set
. Variabel lingkungan sementara ini tidak bertahan setelah Anda mengakhiri sesi prompt perintah.
Variabel Lingkungan Dinamis
Ada konstruksi yang bertindak seperti variabel lingkungan yang tidak disimpan dalam registri dengan cara ini. Sebagai contoh:
echo %TIME%
setx test removeme
lalu sesuatuset test %test%
sehingga Anda dapat memiliki semua variabel terdaftar dengan yang sederhanaset
? Saya berpikir bahwa adalah mungkin untuk mengimplementasikan skrip perintah / batch untuk membuat semuanya eksplisit berdasarkan permintaan ...