Windows 系统内置环境变量

在 Windows 操作系统下工作,免不了用上几次 cmd,收集一些必要的系统内置环境变量。

Variable Volatile
(Read-Only)
Default value in Windows
(system drive is C: )
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\{username}\AppData\Roaming
CD Y The current directory (string).
ClientName Y Terminal servers only - the ComputerName of a remote host.
CMDEXTVERSION Y The current Command Processor Extensions version number. (NT = “1”, Win2000+ = “2”.)
CMDCMDLINE Y The original command line that invoked the Command Processor.
CommonProgramFiles C:\Program Files\Common Files
COMMONPROGRAMFILES(x86) C:\Program Files (x86)\Common Files
COMPUTERNAME {computername}
COMSPEC C:\Windows\System32\cmd.exe or if running a 32 bit WOW - C:\Windows\SysWOW64\cmd.exe
DATE Y The current date using same region specific format as DATE.
ERRORLEVEL Y The current ERRORLEVEL value, automatically set when a program exits.
FPS_BROWSER_APP_PROFILE_STRING
FPS_BROWSER_USER_PROFILE_STRING
Internet Explorer
Default
These are undocumented variables for the Edge browser in Windows 10.
HighestNumaNodeNumber Y (hidden) The highest NUMA node number on this computer.
HOMEDRIVE Y C:
HOMEPATH Y \Users\{username}
LOCALAPPDATA C:\Users\{username}\AppData\Local
LOGONSERVER \\{domain_logon_server}
NUMBER_OF_PROCESSORS Y The Number of processors running on the machine.
OS Y Operating system on the user’s workstation.
PATH User and System C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem;{plus program paths}
PATHEXT .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .MSC
The syntax is like the PATH variable - semicolon separators.
PROCESSOR_ARCHITECTURE Y AMD64/IA64/x86 This doesn’t tell you the architecture of the processor but only of the current process, so it returns “x86” for a 32 bit WOW process running on 64 bit Windows. See detecting OS 32/64 bit
PROCESSOR_ARCHITEW6432 =%ProgramFiles% (only available on 64 bit systems)
PROCESSOR_IDENTIFIER Y Processor ID of the user’s workstation.
PROCESSOR_LEVEL Y Processor level of the user’s workstation.
PROCESSOR_REVISION Y Processor version of the user’s workstation.
ProgramW6432 =%PROCESSOR_ARCHITECTURE% (only available on 64 bit systems)
ProgramData C:\ProgramData
ProgramFiles C:\Program Files or C:\Program Files (x86)
ProgramFiles(x86) C:\Program Files (x86)
PROMPT Code for current command prompt format,usually $P$G
C:>
PSModulePath %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
Public C:\Users\Public
RANDOM Y A random integer number, anything from 0 to 32,767 (inclusive).
%SessionName% Terminal servers only - for a terminal server session, SessionName is a combination of the connection name, followed by #SessionNumber. For a console session, SessionName returns “Console”.
SYSTEMDRIVE C:
By default, Windows is installed to C:\Windows but there’s no guarantee of that, Windows can be installed to a different folder, or a different drive letter.
systemroot is a read-only system variable that will resolve to the correct location.
NT 4.0, Windows 2000 and Windows NT 3.1 default to C:\WINNT
TEMP and TMP User Variable C:\Users\{Username}\AppData\Local\Temp
Under XP this was \{username}\Local Settings\Temp
TIME Y The current time using same format as TIME.
UserDnsDomain Y
User Variable
Set if a user is a logged on to a domain and returns the fully qualified DNS domain that the currently logged on user’s account belongs to.
USERDOMAIN {userdomain}
USERDOMAIN_roamingprofile The user domain for RDS or standard roaming profile paths. Windows 8/10/2012 (or Windows 7/2008 with Q2664408)
USERNAME {username}
USERPROFILE %SystemDrive%\Users\{username}
This is equivalent to the $HOME environment variable in Unix/Linux
WINDIR %WinDir% pre-dates Windows NT and seems to be superseded by %SystemRoot%
Set by default as windir=%SystemRoot%
%windir% is a regular variable and can be changed, which makes it less robust than %systemroot%