在windows操作系统中,变量可分为两种,一种是系统已经定义好的变量,叫做“系统变量”; 提供给用户实用的那么还有一种呢就是用户自己定义的变量。也叫做“自定义变量”。 系统变量: ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\Administrator\Application Data CLIENTNAME=Console CommonProgramFiles=C:\Program Files\Common Files COMPUTERNAME=28DA67567A994E4 ComSpec=C:\WINDOWS\system32\cmd.exe DEVMGR_SHOW_NONPRESENT_DEVICES=1 FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\ LOGONSERVER=\\28DA67567A994E4 NUMBER_OF_PROCESSORS=2 OS=Windows_NT Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\StormII\Codec;C:\Program Files\StormII PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 9, GenuineIntel PROCESSOR_LEVEL=15 PROCESSOR_REVISION=0409 ProgramFiles=C:\Program Files PROMPT=$P$G SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\WINDOWS TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp USERDOMAIN=28DA67567A994E4 USERNAME=Administrator USERPROFILE=C:\Documents and Settings\Administrator windir=C:\WINDOWS 注:可以通过在CMD下输入“set”命令就可以看见系统中变量 那么我们怎么看单个系统变量的值呢,可以通过在CMD下输入 echo %windir% 这样的话它就会显示这个变量所对应的值了 举例说明: copy c:\h.bat "%USERPROFILE%\「开始」菜单\程序\启动\" %USERPROFILE%是一个系统变量,表示的值可通过上面介绍的方法来查看 注意那个""符号,因为目录中含有空格。所以这个符号不能少。 以上系统变量只是返回一些具体的值 还有一些系统变量,它们是代表一个意思,或者一个操作 分别是%0 %1 %2 %3 %4 %5 ....到%9,还有一个%* %0有点特殊,它有几个意思,我们先来说一下%1-%9的意思。 %1返回批处理的第一个参数 %2返回批处理的第二个参数 %3-%9同样如此 什么是返回批处理参数呢? 我们先来看个例子来理解一下 例子: @echo off echo %1 %2 %3 %4 %5 echo %1 echo %2 echo %3 echo %4 echo %5 打开CMD,输入h.bat 新 世 纪 网 安 注意中间的空格,主要是用来区分各个参数的 那么这里还有一个%*,它的作用是返回参数而已,不过他是一次返回所有参数的值 例子: @echo off echo %* 打开CMD,输入h.bat 新 世 纪 网 安 注意中间的空格,主要是用来区分各个参数的 现在我们来讲一下%0这个参数,它有两个意思 第一个意思,用%0可以返回批处理所在的绝对路径 例子: @echo off echo %0 pause 它就会把批处理所在的路径给显示出来了 第二个意思就是用它来无限循环执行批处理程序 例子: @echo off net user %0 这样的话,它就会无限循环的执行批处理程序 好,那么我们现在来说自定义变量的实用 如果要自定义一个批处理变量,那么我们就要用到系统中的一个set命令 例子: @echo off set var=新世纪网安 echo %var% pause 这样系统就会将我们自定义变量的值给输出了,就是“新世纪网安” 自定义变量呢,我们还可以让用户自己给它赋予任意一个值 那么就得用到set /p这个参数了 例子: @echo off set /p var=请给变量赋个值: echo %var% pause 这样的话,我们就可以它批处理程序与用户进行一个交互。这个变量的值也 就是用户自己任意输入的。系统只是将它所对应的值给输出了而已。 希望大家能够举一反三,加以理解。
|
|