批处理中的变量 

一, 系统变量 
     1, %系统变量名% 

     概念: 

         他们的值由系统将其根据事先定义的条件自动赋值. 

         即, 系统已经定义好, 且赋值了,我们可以直接拿来用. 

     如下: 使用 echo %...%   即可打印出系统变量的值. 

 %ALLUSERSPROFILE%  本地   返回“所有用户”配置文件的位置。  

 %APPDATA% 本地  返回默认情况下应用程序存储数据的位置。  

 %CD%  本地  返回当前目录字符串。  

 %CMDCMDLINE% 本地   返回用来启动当前的 Cmd.exe  的准确命令行。  

 %CMDEXTVERSION%  系统  返回当前的“命令处理程序扩展”的版本号。  

 %COMPUTERNAME%  系统  返回计算机的名称。  

 %COMSPEC%   系统   返回命令行解释器可执行程序的准确路径。  

 %DATE%  系统  返回当前日期。使用与 date /t  命令相同的格式。由 Cmd.exe  生成。 

 %ERRORLEVEL%  系统  返回上一条命令的错误代码。通常用非零值表示错误。  

 %HOMEDRIVE%   系统  返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。  

 %HOMEPATH%  系统  返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。  

 %HOMESHARE%  系统  返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。  

 %LOGONSERVER%   本地  返回验证当前登录会话的域控制器的名称。  

 %NUMBER_OF_PROCESSORS%  系统  指定安装在计算机上的处理器的数目。  

 %OS%   系统  返回操作系统名称。Windows 2000 显示其操作系统为 Windows_NT 。 

 %PATH%  系统 指定可执行文件的搜索路径。  

 %PATHEXT% 系统  返回操作系统认为可执行的文件扩展名的列表。  

 %PROCESSOR_ARCHITECTURE%  系统  返回处理器的芯片体系结构。值:x86  或 IA64  基于 Itanium  

 %PROCESSOR_IDENTIFIER% 系统  返回处理器说明。  

 %PROCESSOR_LEVEL%  系统  返回计算机上安装的处理器的型号。  

 %PROCESSOR_REVISION%  系统  返回处理器的版本号。  

 %PROMPT% 本地   返回当前解释程序的命令提示符设置。由 Cmd.exe  生成。  

 %RANDOM% 系统  返回 0  到 32767  之间的任意十进制数字。由 Cmd.exe  生成。  

 %SYSTEMDRIVE% 系统  返回包含 Windows server operating system  根目录(即系统根目录) 的驱动器。  

 %SYSTEMROOT%  系统  返回 Windows server operating system  根目录的位置。  

 %TEMP%  和 %TMP%  系统和用户  返回对当前登录用户可用的应用程序所使用的默认临时目录。 有些应用程序需要 TEMP ,而其他应用程序则需要 TMP。 %TIME%  系统  返回当前时间。使用与 time /t  命令相同的格式。由 Cmd.exe  生成。有关 time 命令的详细信息,请参阅 Time 。  

 %USERDOMAIN% 本地  返回包含用户帐户的域的名称。  

 %USERNAME% 本地  返回当前登录的用户的名称。  

 %USERPROFILE% 本地  返回当前用户的配置文件的位置。  

 %WINDIR%  系统   返回操作系统目录的位置 



     2, %0, %1, %2, ..., %9, %* 

     概念: 

         用于批处理, 使批处理文件也能使用参数 

     说明: 

         %0 : 该批处理文件命令, 也就是命令本身 

         %1 : 返回 批处理 的第一个参数 

         %2 : 返回 批处理 的第二个参数 

         %3 - %9 : 跟 %1,%2一个意思 

         %* : 所有批处理后的参数, 即 %1 ~ %9 

     举例: 

     1.bat => 

         @echo off 

         echo all vars = %* 

         echo var0=%0  

         echo var1=%1  

         echo var2=%2 

     MS-DOS => 

         d:\cmd\04>1.bat 11 22 

         all vars = 11 22 

         var0=1.bat 

         var1=11 

         var2=22 



二, 自定义变量
     概念: 

         自己声明与赋值的变量. 

     格式: 

         set 变量名=值 

     例子: 

       1, 程序中写死 

         d:\cmd\04>set myVar=123 

         d:\cmd\04>echo %myVar% 

         123  

       2, 用户手动输入(第一条命令:输入.第二条命令:打印.) 

         d:\cmd\04>set /p var=input value: & @echo %var% 

         input value: 123 

         123