什么是 Windows 系统变量

最简单的例子,开一个资源管理器,在路径上输入 %SYSTEMROOT%,回车,就会转到 C:\windows 目录。

[image align=”center” width=”one_half” lightbox=”true”]https://6mhjca.dm2302.livefilestore.com/y2p5Uuk5Hr6SRnNV9zMmqlH1CZ6EodnQUcwxYLjibs2P_3xFfJxrlq4tma2SALPwhlGr_hirK59H3fgbx2dMXARxCHlvR3GkYF3rd_YRJxy35E/systemroot.png[/image]

再试试 %APPDATA%,指向的是 C:\Users\用户名\AppData\Roaming

[image align=”center” width=”one_half” lightbox=”true”]https://tqt4qq.dm2302.livefilestore.com/y2po1StRaCzn-0XXn1ks_rm5wUvUb8ehd3hdUSvEWuqCuTDrT32uI-U_qYisguoPjaGQdbpDSmdYYNAAqv2kcw_Hb0MXbtvL8zLQmQMiuB2TXA/appdata.png[/image]

现在明白系统变量了吧,表示操作系统中一些特殊的目录位置(或信息),总表见下(按首字母排序,方便查阅)。

[table]

系统变量 描述
%ALLUSERSPROFILE% Profile文件位置
%APPDATA% 应用程序数据的默认存放位置
%CD% 当前目录
%CLIENTNAME% 联接到终端服务会话时客户端的NETBIOS名
%CMDCMDLINE% 启动当前cmd.exe所使用的命令行
%CMDEXTVERSION% 当前命令处理程序扩展版本号
%CommonProgramFiles% 常用文件的文件夹路径
%COMPUTERNAME% 计算机名
%COMSPEC% 可执行命令外壳(命令处理程序)的路径
%DATE% 当前日期
%ERRORLEVEL% 最近使用的命令的错误代码
%HOMEDRIVE% 用户主目录所在的驱动器盘符
%HOMEPATH% 用户主目录的完整路径
%HOMESHARE% 用户共享主目录的网络路径
%LOGONSEVER% 有效的当前登录会话的域名控制器名
%NUMBER_OF_PROCESSORS% 计算机安装的处理器数
%OS% 操作系统的名字
%Path% 可执行文件的搜索路径
%PATHEXT% 操作系统认为可被执行的文件扩展名
%PROCESSOR_ARCHITECTURE% 处理器的芯片架构
%PROCESSOR_IDENTFIER% 列出了处理器的描述
%PROCESSOR_LEVEL% 计算机的处理器的型号
%PROCESSOR_REVISION% 处理器的修订号
%PROGRAMFILES% Program Files文件夹的路径
%PROMPT% 当前命令解释器的命令提示设置
%RANDOM% 界于0和32767之间的随机十进制数
%SESSIONNAME% 连接到终端服务会话时的连接和会话名
%SYSTEMDRIVE% Windows启动目录所在驱动器
%SYSTEMROOT% Windows启动目录的位置
%TEMP%和%TMP% 当前登录的用户可用应用程序的默认临时目录
%TIME% 当前时间
%USERDOMAIN% 包含用户帐号的域的名字
%USERNAME% 当前登录的用户的名字
%USERPROFILE% 当前用户Profile文件位置
%WINDIR% 操作系统目录的位置

[/table]

并不是所有的系统变量都能在资源管理器的路径上显示出来,只有表示文件目录的可以。正确显示系统变量的信息,可以使用命令提示符下的 echo 命令,如 echo %PROGRAMFILES%,输出的是 C:\Program Files

为了查询所有系统变量的值,我写了一个 bat 文件,内容如下:

@echo off
echo Profile文件位置:%ALLUSERSPROFILE%
echo.
echo 应用程序数据的默认存放位置:%APPDATA%
echo.
echo 当前目录:%CD%
echo.
echo 联接到终端服务会话时客户端的NETBIOS名:%CLIENTNAME%
echo.
echo 启动当前cmd.exe所使用的命令行:%CMDCMDLINE%
echo.
echo 当前命令处理程序扩展版本号:%CMDEXTVERSION%
echo.
echo 常用文件的文件夹路径:%CommonProgramFiles%
echo.
echo 计算机名:%COMPUTERNAME%
echo.
echo 可执行命令外壳(命令处理程序)的路径:%COMSPEC%
echo.
echo 当前日期:%DATE%
echo.
echo 最近使用的命令的错误代码:%ERRORLEVEL%
echo.
echo 用户主目录所在的驱动器盘符:%HOMEDRIVE%
echo.
echo 用户主目录的完整路径:%HOMEPATH%
echo.
echo 用户共享主目录的网络路径:%HOMESHARE%
echo.
echo 有效的当前登录会话的域名控制器名:%LOGONSEVER%
echo.
echo 计算机安装的处理器数:%NUMBER_OF_PROCESSORS%
echo.
echo 操作系统的名字:%OS%
echo.
echo 可执行文件的搜索路径:%Path%
echo.
echo 操作系统认为可被执行的文件扩展名:%PATHEXT%
echo.
echo 处理器的芯片架构:%PROCESSOR_ARCHITECTURE%
echo.
echo 处理器的描述:%PROCESSOR_IDENTFIER%
echo.
echo 计算机的处理器的型号:%PROCESSOR_LEVEL%
echo.
echo 处理器的修订号:%PROCESSOR_REVISION%
echo.
echo Program Files文件夹的路径:%PROGRAMFILES%
echo.
echo 当前命令解释器的命令提示设置:%PROMPT%
echo.
echo 界于0和32767之间的随机十进制数:%RANDOM%
echo.
echo 连接到终端服务会话时的连接和会话名:%SESSIONNAME%
echo.
echo Windows启动目录所在驱动器:%SYSTEMDRIVE%
echo.
echo Windows启动目录的位置:%SYSTEMROOT%
echo.
echo 当前登录的用户可用应用程序的默认临时目录:%TEMP%和%TMP%
echo.
echo 当前时间:%TIME%
echo.
echo 包含用户帐号的域的名字:%USERDOMAIN%
echo.
echo 当前登录的用户的名字:%USERNAME%
echo.
echo 当前用户Profile文件位置:%USERPROFILE%
echo.
echo 操作系统目录的位置:%WINDIR%
echo.
pause

这个 bat 可以从这儿直接下载:http://pan.baidu.com/share/link?shareid=421013&uk=1426189689

其中 echo. 表示的是输出一个空行。

bat 的在我机子上运行结果如下(我用的操作系统为 Win7,安装在 C 盘):

Profile文件位置:C:\ProgramData
应用程序数据的默认存放位置:C:\Users\Tony\AppData\Roaming
当前目录:C:\Users\Tony\Desktop
联接到终端服务会话时客户端的NETBIOS名:
启动当前cmd.exe所使用的命令行:"C:\windows\system32\cmd.exe"
当前命令处理程序扩展版本号:2
常用文件的文件夹路径:C:\Program Files\Common Files
计算机名:TONY-PC
可执行命令外壳(命令处理程序)的路径:C:\windows\system32\cmd.exe
当前日期:2013/05/13 周一
最近使用的命令的错误代码:9009
用户主目录所在的驱动器盘符:C:
用户主目录的完整路径:\Users\Tony
用户共享主目录的网络路径:
有效的当前登录会话的域名控制器名:
计算机安装的处理器数:4
操作系统的名字:Windows_NT
可执行文件的搜索路径:C:\Program Files\Embarcadero\RAD Studio\10.0\bin;C:\Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files\Embarcadero\RAD Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Program Files\AMD APP\bin\x86;E:\ORACLE11GR2\product\11.2.0\dbhome_1\bin;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Subversion\bin;C:\Program Files\Common Files\Acronis\SnapAPI\;C:\Program Files\Acronis\TrueImageHome\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\Program Files\Java\jdk1.7.0_05\bin
操作系统认为可被执行的文件扩展名:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
处理器的芯片架构:x86
处理器的描述:
计算机的处理器的型号:6
处理器的修订号:2505
Program Files文件夹的路径:C:\Program Files
当前命令解释器的命令提示设置:$P$G
界于0和32767之间的随机十进制数:20174
连接到终端服务会话时的连接和会话名:Console
Windows启动目录所在驱动器:C:
Windows启动目录的位置:C:\windows
当前登录的用户可用应用程序的默认临时目录:C:\Users\Tony\AppData\Local\Temp和C:\Users\Tony\AppData\Local\Temp
当前时间: 8:15:09.77
包含用户帐号的域的名字:Tony-PC
当前登录的用户的名字:Tony
当前用户Profile文件位置:C:\Users\Tony
操作系统目录的位置:C:\windows
请按任意键继续. . .

是不是很像系统快照?平时开发也方便了系统路径和本机信息的获取。

留下一个答复

Please enter your comment!
Please enter your name here