Windows Environment Variables (Complete List XP/WIndows 7/8)
Environment variables is very useful to make general code. You can include them in paths directly to access files native to an active user/workstation/profile/session etc.
System path variables refer to locations of critical operating system resources, and as such generally are not user-dependent.
%APPDATA%
%LOCALAPPDATA%
%ComSpec%">ComSpec%">ComSpec%">http://en.wikipedia.org/wiki/ComSpec">ComSpec</a>%
/%COMSPEC%">COMSPEC%">COMSPEC%">http://en.wikipedia.org/wiki/COMSPEC">COMSPEC</a>%
%ComSpec%
variable contains the full path to the command processor; on Windows NT-based operating systems, this is CMD.EXE
, while on Windows 9x and ME, %COMSPEC%
is the DOS command processor, COMMAND.COM
.%OS%
%OS%
variable contains a symbolic name of the operating system family to distinguish between differing feature sets in batchjobs. Under Windows NT, Windows 2000, Windows XPand Windows 7, it always holds the string "Windows_NT
". It resembles an identically named environment variable %OS%">http://en.wikipedia.org/wiki/Environment_variable#...
found in all DOS-related operating systems of Digital Research-origin like Concurrent DOS, Multiuser DOS, REAL/32, DOS Plus, DR DOS, Novell DOS and OpenDOS.%PATH%
%PATH%
variable, but only at one level of indirection. If this sub-path environment variable itself contains an environment variable representing a path, %PATH%
will not expand properly in the variable substitution. Equivalent to the Unix $PATH">http://en.wikipedia.org/wiki/Environment_variable#...
variable.%ProgramFiles%
, %ProgramFiles(x86)%
, %ProgramW6432%
%ProgramFiles%
variable points to the Program Files directory, which stores all the installed programs of Windows and others. The default on English-language systems is "C:\Program Files
". In 64-bit editions of Windows (XP, 2003, Vista), there are also %ProgramFiles(x86)%
, which defaults to "C:\Program Files (x86)
", and %ProgramW6432%
, which defaults to "C:\Program Files
". The %ProgramFiles%
itself depends on whether the process requesting the environment variable is itself 32-bit or 64-bit (this is caused byWindows-on-Windows 64-bit redirection).%CommonProgramFiles%
C:\Program Files\Common Files
" in the English version of Windows.%SystemDrive%
%SystemDrive%
variable is a special system-wide environment variable found on Windows NT and its derivatives. Its value is the drive upon which the system directory was placed. The value of %SystemDrive%
is in most cases "C:
".%SystemRoot%
%SystemRoot%
variable is a special system-wide environment variable found on Windows NT and its derivatives. Its value is the location of the system directory, including the drive and path. The drive is the same as %SystemDrive%
and the default path on a clean installation depends upon the version of the operating system. By default, Windows NT 5.1 (Windows XP) and newer versions use "\WINDOWS
", Windows NT 5.0 (Windows 2000), Windows NT 4.0 and Windows NT 3.1 use "\WINNT
", Windows NT 3.5x uses "\WINNT35
", and Windows NT 4.0 Terminal Server uses "\WTSRV
".%windir%
%SystemRoot%
variable, above). If the system is on drive C:, then the default values are "C:\WINDOWS
" on Windows 95, Windows 98, Windows Me, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 and Windows 7 and "C:\WINNT
" forWindows NT 4, and Windows 2000. Windows NT 4 Terminal Server Edition by default installs to "C:\WTSRV
".User management variables[citation needed] store information related to resources and settings owned by various user profiles within the system. As a general rule, these variables do not refer to critical system resources or locations that are necessary for the OS to run.
%ALLUSERSPROFILE%
(%PROGRAMDATA%
for Windows Vista, Windows 7)%USERDOMAIN%
%LOGONSERVER%
, holds the hostname of the server that authenticated the current user's logon credentials (name and password). For home PCs and PCs in a workgroup, the authenticating server is usually the PC itself. For PCs in a Windows domain, the authenticating server is a domain controller (a primary domain controller, or PDC, in Windows NT 4-based domains).%USERPROFILE%
NTUSER
). Users can also use the %USERNAME%
variable to determine the active users login identification.Optional System variables[citation needed] are not explicitly specified by default but can be used to modify the default behaviour of certain built-in console commands. These variables also do not need to be explicitly specified as command line arguments.
The following tables shows typical default values of certain environment variables under English versions of Windows as they can be retrieved under http://en.wikipedia.org/wiki/CMD_(Windows)">CMD
.
(Some of these variables are also defined when running COMMAND.COM
under Windows, but differ in certain important details: Under COMMAND.COM
, the names of environment variable are always uppercased. Some, but not all variables contain short 8.3 rather than long file names. While some variables present in the CMD
environment are missing, there are also some variables specific to the COMMAND
environment.)
Variable | Locale specific | Windows XP (CMD) | Windows Vista/7/8 (CMD) |
---|---|---|---|
%ALLUSERSPROFILE%[7] | Yes | C:\Documents and Settings\All Users | C:\ProgramData[7] |
%APPDATA%[7] | Yes | C:\Documents and Settings\{username}\Application Data | C:\Users\{username}\AppData\Roaming[7] |
%CommonProgramFiles%[7] | Yes | C:\Program Files\Common Files | C:\Program Files\Common Files[7] |
%CommonProgramFiles(x86)%[7] | Yes | C:\Program Files (x86)\Common Files (only in 64-bit version) | C:\Program Files (x86)\Common Files (only in 64-bit version)[7] |
%CommonProgramW6432%[7] | Yes | ? | C:\Program Files\Common Files (only in 64-bit version)[7] |
%COMPUTERNAME% | No | {computername} | {computername} |
%ComSpec% | No | C:\Windows\System32\cmd.exe | C:\Windows\System32\cmd.exe |
%HOMEDRIVE%[7] | No | C: | C:[7] |
%HOMEPATH%[7] | Yes | \Documents and Settings\{username} | \Users\{username}[7] |
%LOCALAPPDATA%[7] | Yes | C:\Users\{username}\AppData\Local[7] | |
%LOGONSERVER% | No | \\{domain_logon_server} | \\{domain_logon_server} |
%PATH% | Yes | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus program paths} | C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{plus program paths} |
%PATHEXT% | No | .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH | .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
%ProgramData%[7] | Yes | %SystemDrive%\ProgramData[7] | |
%ProgramFiles%[7] | Yes | %SystemDrive%\Program Files | %SystemDrive%\Program Files[7] |
%ProgramFiles(x86)%[7] | Yes | %SystemDrive%\Program Files (x86) (only in 64-bit version) | %SystemDrive%\Program Files (x86) (only in 64-bit version)[7] |
%ProgramW6432%[7] | Yes | ? | %SystemDrive%\Program Files (only in 64-bit version)[7] |
%PROMPT% | No | Code for current command prompt format, usually $P$G | Code for current command prompt format, usually $P$G |
%PSModulePath% | %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\ | ||
%PUBLIC%[7] | Yes | %SystemDrive%\Users\Public[7] | |
{Drive}:\$Recycle.Bin | C:\Recycle.Bin | C:\$Recycle.Bin | |
%SystemDrive%[7] | No | C: | C:[7] |
%SystemRoot%[7] | No | The Windows directory, usually C:\Windows, formerly C:\WINNT | %SystemDrive%\Windows[7] |
%TEMP%[7] and %TMP%[7] | Yes | %SystemDrive%\Documents and Settings\{username}\Local Settings\Temp | %SystemDrive%\Users\{username}\AppData\Local\Temp[7] |
%USERDOMAIN% | No | {userdomain} | {userdomain} |
%USERNAME% | No | {username} | {username} |
%USERPROFILE%[7] | Yes | %SystemDrive%\Documents and Settings\{username} | %SystemDrive%\Users\{username}[7] |
%windir%[7] | No | %SystemDrive%\WINDOWS | %SystemDrive%\Windows[7] |
In this list, there is no environment variable that refers to the location of the user's My Documents directory, so there is no standard method for setting a program's home directory to be theMy Documents directory.