分享

第八课:批处理变量

 终为始 2019-08-15
在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

这样的话,我们就可以它批处理程序与用户进行一个交互。这个变量的值也
就是用户自己任意输入的。系统只是将它所对应的值给输出了而已。
希望大家能够举一反三,加以理解。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多