DOS BAT批处理定义变量

既然我们称之为批处理编程,那么变量是少不了的,在批处理中既可以自定义变量也可以使用系统变量,我们先来了解一下自定义变量。

(1)自定义变量

请看如下命令:

@echo off
set myname=okbase.net
set myage=3
echo %myname% is about %myage% years old
pause

运行结果:
okbase.net is about 3 years old
关键是set命令的使用,set var=变量值,var是变量的名称,当需要在其它地方使用这个变量时,需要用两个%括起来,如%var%
(2)变量的算术运算
在进行算术运算时,我们需要给set命令加上 /a 参数,后面再跟表达式。
例如:
set var=100
set /a var=200+10
set /a var+=15
echo %var%

运行结果为225
这里的var+=15 相当于 var=%var%+15
(3)变量的逻辑运算与取余运算
需要将运算符用双引号表示出来:
set /a var=3 "&" 7
set /a var=2 "^" 6
set /a var=2 "<<" 3
set /a var=256 ">>" 2
set /a var=83 "%" 10

批处理支持的运算符按优先权顺序:
()                   - 分组
! ~ -                - 一元运算符
* / %                - 算数运算符
+ -                  - 算数运算符
<< >>                - 逻辑移位
&                    - 按位“与”
^                    - 按位“异”
|                    - 按位“或”
= *= /= %= += -=     - 复合赋值运算符
&= ^= |= <<= >>=     - 复合赋值运算符
,                    - 表达式分隔符
表达式分隔符的作用是在一行中写多个表达式,例如:
set /a var1=1,var2=8
echo %var1% %var2%

(4)获取键盘输入到变量
set命令有一个/p参数,可以帮助我们获得键盘输入:
set /p var=-^> 请选择:
echo 您的选择是:%var%

这在我们显示菜单供用户选择的时候是非常有用的,当加上/p参数,等号后面的内容就是用于显示的字符,并非给变量赋值。

原文地址:www.okbase.net/doc/details/26

你可能感兴趣的:(dos,批处理)