《批处理中的系统变量和环境变量.docx》由会员分享,可在线阅读,更多相关《批处理中的系统变量和环境变量.docx(5页珍藏版)》请在第一文库网上搜索。
1、批处理中的变量,把他分为两类,分别为系统变量和自定义变量 系 统 变 量他们的值由系统将其依据事先定义的条件自动赋值,也就是这些变量系统已经批处理中的变量,把他分为两类,分别为系统变量和自定义变量 系 统 变 量他们的值由系统将其依据事先定义的条件自动赋值,也就是这些变量系统已经给他们定义了值,不需要我们来给他赋值,只需要我们调用而已!%ALLUSERSPROFILE%本地 返回“全部用户”配置文件的位置。%APPDATA%本地 返回默认状况下应用程序存储数据的位置。%CD%本地返回当前名目字符串。%CMDCMDLTNE%本地 返回用来启动当前的Cmd. exe的精确命令行。%CMDEXTVE
2、RSION%系统 返回当前的“命令处理程序扩展”的版本号。%COMPUTERNAME% 系统 返回计算机的名称。%COMSPEC% 系统 返回命令行解释器可执行程序的精确路径。%DATE% 系统 返回当前日期。使用与date t命令相同的格式。由Cmd. exe生成。%ERRORLEVEL% 系统 返回上一条命令的错误代码。通常用非零值表示错误。%HOMEDRIVE% 系统 返回连接到用户主名目的本地工作站驱动器号。基于主名目值而设置。用户主名目是在“本地用户和组”中指定的。%HOMEPATH% 系统返回用户主名目的完整路径。基于主名目值而设置。用户主名目是在“本地用户和组”中指定的。%HOM
3、ESIIRE% 系统 返回用户的共享主名目的网络路径。基于主名目值而设置。用户主名目是在“本地用户和组”中指定的。%LOGONSERVER% 本地 返回验证当前登录会话的域掌握器的名称。%NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。%0S% 系统 返回操作系统名称。Windows 2000显示其操作系统为Windows_NTo%PATH%系统指定可执行文件的搜寻路径。%PATHEXT%系统返回操作系统认为可执行的文件扩展名的列表。%PROCESSOR ARCHITECTURE% 系统 返回处理器的芯片体系结构。值:x86或1A64基于Itanium%PR
4、OCESSOR_IDENTFIER%系统 返回处理器说明。%PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。%PROCESSOR_REVISION%系统 返回处理器的版本号。%PROMPT%本地 返回当前解释程序的命令提示符设置。由Cmd. exe生成。%RANDOM%系统返回0到32767之间的任意十进制数字。由Cmd. exe生成。%SYSTEMDRIVE%系统 返回包含Windows server operating system根名目(即系统根名目)的驱动器。%SYSTEMROOT% 系统 返回 Windows server operating system 根
5、名目的位置。%TEMP%和%TMP%系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时名目。有些应用程序需要TEMP,而其他应用程序则需要TMPo%TIME%系统 返回当前时间。使用与time t命令相同的格式。由Cmd. exe生成。%USERDOMAIN%本地 返回包含用户帐户的域的名称。%USERNAME%本地 返回当前登录的用户的名称。%USERPROFTLE%本地返回当前用户的配置文件的位置。%WINDIR%系统 返回操作系统名目的位置。这么多系统变量,如何得到他的值?在 CMD 里输入 echo %WTNDTR%这样就能显示一个变量的值了!此外还有一些系统变量,他们是代表
6、一个意思,或者一个操作!他们分别是%0 %1 %2 %3 %4 %5始终到%9还有一个%*%0这个有点特别,有几层意思%9的意思.%1返同批处理的第一个参数%2返回批处理的其次个参数%3-%9依此推类返回批处理参数?究竟怎么个返回法?我们看这个例子,把下面的代码保存为test. BAT然后放到C盘下echo offecho %1 %2 %3 %4echo %1echo %2echo %3echo %4进入CMD,输入cd c:然后输入test, bat我是第一个参数我是其次个参数我是第三个参数我是第四个参数留意中间的空额,我们会看到这样的结果:我是第一个参数我是其次个参数我是第三个参数我是第四
7、个参数我是第一个参数我是其次个参数我是第三个参数我是第四个参数对比下代码,%1就是我是第一个参数%2就是我是其次个参数这些机和%9可以让批处理也能带参数运行,提高批处理功能;还有一个%*他是什么呢?他的作用不是很大,只是返回参数而已不过他是一次返回全部参数的值,不用在输入%2来确定一个个的例子echo offecho %*同样保存为test, bat放到C盘进入CMD,输入cd c:然后输入test, bat我是第一个参数我是其次个参数我是第三个参数 我是第四个参数可以看到他一次把全部参数都显示出来了比较特别的%0%0不是返回参数的值了,有两层意思:第一层意思:返同批处理所在肯定路径例子:ec
8、ho offecho %0pause保存为test. BAT放在桌面运行,会显示如下结果“C:Docunicnts and SettingsAdministratorffitest. bat,z他把当前批处理执行的所在路经打印出来了,这就是返回批处理所在肯定路径的意思其次层意思:无限循环执行BAT例子:echo offnet user%0保存为BAT执行,他就会无限循环执行net user这条命令,直到手动停止. 自 定 义 变 量故名思意,自定义变量就是由我们来给他给予值的变量要使用自定义变量就得使用set命令了.echo offset var=我是值echo %var%pause保存为BA
9、T执行,会看到CMD里返回一个我是值var为变量名,二号右变的是要给变量的值这就是最简洁的一种设置变量的方法了假如想让用户手工输入变量的值,而不是在代码里指定,可以用用set命令的p参数例子:echo offset p var二请输入变量的值echo %var%pausevar变量名二号右边的是提示语,不是变量的值变量的值由我们运行后自己用键盘输入.PS:关于那个%0,用到地方蛮多的。一个炸弹程序就是这样的:start%0保存为bomb. bat,双击运行 还有一个地方,程序自删除。net userpausedel %0保存为del. bat,双击运行作用:显示当前计算机用户,等待按任意键,按完后,程序退出,并且程序文件也自动删除.