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 regperintah
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 valueperintah 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=valueperintah, variabel tersedia segera tetapi tidak disimpan dalam registri. Anda tidak dapat menggunakan regperintah 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 removemelalu 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 ...