在cmd命令行窗口中快速查看一些系统信息,或者编写 bat 脚本实现某些功能时,熟练掌握和使用windows内置的系统变量可以起到事半功倍的效果。
首先,需要说明的是,windows内置系统变量名称大小写不敏感,即 %SystemRoot% 等价于 %SYSTEMROOT%。基于个人使用习惯,本文采用首字母大写的驼峰法表示变量名。
另外,怎么查看某一内置系统变量是否有效,及对应变量值是什么呢?在cmd命令行窗口中,通过"echo %系统内置变量名称%"命令即可输出指定内置系统变量的值。
windows内置系统变量及对应变量值详细如下:
%SystemRoot%:变量值为 C:\Windows
%ProgramFiles%:变量值为 C:\Program Files
%CommonProgramFiles%:变量值为 C:\Program Files\Common Files
%CommonProgramFiles(x86)%:变量值为 C:\Program Files (x86)\Common Files
%UserProfile%:变量值为当前用户目录路径,比如 C:\Users\admin
%AllUsersProfile%:变量值为 C:\ProgramData,所有用户都可以使用该目录下的程序
%AppData%:变量值为当前用户下的 Roaming 目录所在路径,比如 C:\Users\admin\AppData\Roaming
%CmdCmdLine%:变量值为 cmd.exe 程序所在路径,"C:\Windows\system32\cmd.exe",常用来启动cmd命令行工具,如 start %CmdCmdLine%
%ComputerName%:当前计算机名称
%UserName%:当前用户名
%Date%:显示当前日期,格式为 "yyyy/MM/dd 周几" // MM 表示月份
%Time%:显示当前时间,格式为 "hh:mm:ss.SS" // SS 表示毫秒
%Random%:产生一个随机整数,范围为 0-32767
%ErrorLevel%:返回上一条命令的执行状态代码,返回值一般有 0 和 非0(如常见的1,2,4,5,9009等) 两种,0一般表示上一条命令执行成功,非0一般表示失败或异常
// 返回值为 9009,一般发生在命令错误或者不存在的情况下。
%HomeDrive%:当前用户主目录所在的驱动器盘符,一般为 C:
%LogonServer%:当前登录会话的域名控制器名称
%Tmp%:当前用户的临时目录
%Temp%:同上。