批处理中变量的定义。
变量:在程序的运行过程中随时可以发生变化的量。好像是这么定义的,
在批处理中,变量的定义一般用以下set命令来设置。
set 显示、设置或删除 cmd.exe 环境变量。
set设置变量的基本形式:set [变量名]=[变量值]
在cmd中如果直接输入set,则会显示系统的环境变量,而且这些变量都不需要设置可以直接使用,如要直接显示某一字符开头的变量可使用set 字符,
例如:
@echo off rem 显示所有以字母a开头的变量 set a pause
使用set设置变量是批处理中一个重要的部分,一定好好把握
set设置的变量可以用双%括起来使用,如果要取消之前变量直接
set 变量名=
@echo off rem 设置变量var的值为"批处理" set var=批处理 rem 显示变量var的值 echo %var% rem 取消var变量 set var=
如设置的变量值含有空格最好用双引号括起如:set "var=好样的 人"
注意:set 命令不允许变量名含有等号。所以想变量名存在等号是不行若无事
@echo off rem 尝试设置变量名"a="的值为test set a==test rem 显示的是空行,不存在变量a= echo.%a=% rem 变量值为"=test" echo %a% pause
set 的参数说明
/a 常用以计算数值,对于计算的符号可查看帮助
a参数除了可以用来计算之外也可进行多个变量赋值,以逗号为分隔符
set /a a=21,b=32,c=64
注意:a参数是用作计算赋值,所以变量值一定是数值,如果变量值是字母或符号则值为0
@echo off rem 设置多个变量,变量值为汉字 set /a a=批,b=处,c=理 rem 值为0 echo %a% echo %b% echo %c% pause
/P 命令行开关允许将变量数值设成用户输入的一行输入
p参数是批中的跟用户的交互输入命令,可以设置一些提示如:
@echo off rem 提示输入网址,批会暂停执行等待用户输入 set /p var=请输入网址: rem "提示"不作变量的值,var的值为用户输入的 echo %var% pause
看到这个你会发现echo 跟set /p 都可以显示信息到cmd窗口,那么有没有方法令set /p 实现显示不等待用户输入?
set /p 跟符号"<"符号的应用,
< 将其后面的内容作为其前面命令的输入,可以应用在赋值文件内容,
当符号"<"跟在set /p 等号后面时,不会再需要用户等待输入,比较常用的有
@echo off rem 将a.txt第一行的内容赋值比变量a,并不等待用户输入 set /p a=<a.txt rem var值为空字符,并显示提示,不等待用户输入 set /p var=test<nul pause
上面的例子可以发现最后显示的是"test请按任意键继续...",
因为"<"将后面的换行符(行的最后都会有一个换行符,看不见的)当作前面命令的输入了,换行符没了,所以相当于"续行" 。
@echo off rem 因为是只是要显示提示,所以变量名可不写 set /p=换<nul set /p=行<nul set /p=符<nul rem echo.相当于换了一行(回车) echo. pause