栏目树
win10下批处理脚本可以用哪些变量
在 Windows 10 的批处理脚本(.bat 或.cmd 文件)中,系统预定义了一系列环境变量,这些变量可以直接调用,用于获取系统信息、路径、用户信息等。以下是常用的预定义变量分类及说明:

一、系统路径与目录相关变量

变量名 说明
%SystemRoot% 系统根目录(通常为 C:\Windows),包含系统核心文件(如system32)。
%SystemDrive% 系统所在驱动器(通常为 C:)。
%windir% 等同于%SystemRoot%,指向 Windows 安装目录。
%ProgramFiles% 32 位程序默认安装目录(通常为 C:\Program Files)。
%ProgramFiles(x86)% 64 位系统中 32 位程序的安装目录(通常为 C:\Program Files (x86))。
%ProgramData% 所有用户共享的应用程序数据目录(通常为 C:\ProgramData)。
%AppData% 当前用户的应用程序数据目录(漫游,会同步到域服务器,如 C:\Users\用户名\AppData\Roaming)。
%LocalAppData% 当前用户的本地应用程序数据目录(非漫游,如 C:\Users\用户名\AppData\Local)。
%Temp% / %TMP% 当前用户的临时文件目录(通常为 C:\Users\用户名\AppData\Local\Temp)。
%USERPROFILE% 当前用户的主目录(如 C:\Users\用户名)。
%HOMEPATH% 当前用户主目录的路径(相对于系统驱动器,如 \Users\用户名)。
%HOMEDRIVE% 当前用户主目录所在的驱动器(通常为 C:)。

二、用户与环境相关变量

变量名 说明
%USERNAME% 当前登录用户的用户名。
%USERDOMAIN% 当前用户所在的域(工作组环境下通常为计算机名)。
%COMPUTERNAME% 当前计算机的名称。
%USERDOMAIN_ROAMINGPROFILE% 用于漫游配置文件的用户域。
%ALLUSERSPROFILE% 所有用户的公共配置文件目录(等同于%ProgramData%)。

三、命令与脚本运行相关变量

变量名 说明
%0 批处理脚本自身的文件名(包含路径时为完整路径,否则为文件名)。
%1 ~ %9 批处理脚本的命令行参数(%1为第一个参数,%2为第二个,以此类推)。
%* 所有命令行参数的集合(包含%1%9及更多参数)。
%ERRORLEVEL% 上一条命令执行后的返回码(0表示成功,非0表示失败)。
%CD% 当前批处理脚本执行时的工作目录(当前路径)。
%DATE% 当前系统日期(格式由区域设置决定,如 2025/07/15)。
%TIME% 当前系统时间(格式由区域设置决定,如 10:30:25.50)。
%RANDOM% 生成一个 0~32767 之间的随机整数。

四、网络与设备相关变量

变量名 说明
%LOGONSERVER% 当前用户登录的服务器(域环境下有效,如 \\DOMAIN-SERVER)。
%OS% 操作系统名称(Windows 10 中通常返回 Windows_NT)。
%PROCESSOR_ARCHITECTURE% 处理器架构(32 位为 x86,64 位为 AMD64)。
%NUMBER_OF_PROCESSORS% 处理器核心数量(如 8 表示 8 核)。

五、使用示例

在批处理脚本中,可以直接通过 echo 命令输出变量值,例如:

batch
@echo off echo 系统根目录:%SystemRoot% echo 当前用户名:%USERNAME% echo 当前时间:%TIME% echo 脚本参数1%1 pause 

说明

  • 变量名不区分大小写(如%username%%USERNAME%效果相同)。
  • 部分变量(如%ProgramFiles(x86)%)仅在 64 位系统中存在。
  • 可通过在命令提示符中输入 set 命令,查看当前系统中所有预定义的环境变量及其值。

这些变量在批处理脚本中非常实用,可用于路径拼接、参数传递、条件判断等场景。



强劲的%~dp0

%~dp0 是对脚本自身路径的扩展,其中:


  • %0:代表批处理脚本自身的文件名(包含调用时的路径信息)。
  • ~d:扩展为 %0 对应的盘符(如 C:D:)。
  • ~p:扩展为 %0 对应的路径(不含文件名,包含最后一个反斜杠 \)。
  • 组合后,%~dp0 即表示 “脚本所在的盘符 + 完整路径”。