批处理脚本 - 运算符
运算符是告诉编译器执行特定数学或逻辑操作的符号。
在批处理脚本中,可以使用以下类型的运算符。
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 按位运算符
算术运算符
批处理脚本语言支持任何语言的普通算术运算符。 以下是可用的算术运算符。
运算符 | 描述 | 示例 |
---|---|---|
+ | 两个操作数相加 | 1 + 2 将给出 3 |
− | 从第一个操作数中减去第二个操作数 | 2 − 1 将给出 1 |
* | 两个操作数相乘 | 2 * 2 将给出 4 |
/ | 分子除以分母 | 3 / 2 将给出 1.5 |
% | 模数运算符和整数/浮点除法后的余数 | 3 % 2 将给出 1 |
关系运算符
关系运算符允许对对象进行比较。 以下是可用的关系运算符。
运算符 | 描述 | 示例 |
---|---|---|
EQU | 测试两个对象之间的相等性 | 2 EQU 2 将给出 true |
NEQ | 测试两个对象之间的差异 | 3 NEQ 2 将给出 true |
LSS | 检查左侧对象是否小于右侧操作数 | 2 LSS 3 将给出 true |
LEQ | 检查左侧对象是否小于或等于右侧操作数 | 2 LEQ 3 将给出 true |
GTR | 检查左侧对象是否大于右侧操作数 | 3 GTR 2 将给出 true |
GEQ | 检查左侧对象是否大于或等于右侧操作数 | 3 GEQ 2 将给出 true |
逻辑运算符
逻辑运算符用于计算布尔表达式。 以下是可用的逻辑运算符。
批处理语言配备了一整套布尔逻辑运算符,如 AND、OR、XOR,但仅适用于二进制数。 也没有任何 TRUE 或 FALSE 值。 可用于条件的唯一逻辑运算符是 NOT 运算符。
运算符 | 描述 |
---|---|
AND | 这是逻辑"与"运算符 |
OR | 这是逻辑"或"运算符 |
NOT | 这是逻辑"非"运算符 |
赋值运算符
批处理脚本语言还提供赋值运算符。 以下是可用的赋值运算符。
运算符 | 描述 | 示例 |
---|---|---|
+= | 这会将右操作数添加到左操作数,并将结果分配给左操作数 |
Set /A a = 5 a += 3 输出将为 8 |
-= | 从左操作数中减去右操作数,并将结果赋给左操作数 |
Set /A a = 5 a -= 3 输出将为 2 |
*= | 将右操作数与左操作数相乘,并将结果赋给左操作数 |
Set /A a = 5 a *= 3 输出将为 15 |
/= | 将左操作数与右操作数相除,并将结果赋给左操作数 |
Set /A a = 6 a/ = 3 输出将为 2 |
%= | 这使用两个操作数取模并将结果分配给左侧操作数 |
Set /A a = 5 a% = 3 输出将为 2 |
按位运算符
按位运算符也可以在批处理脚本中使用。 以下是可用的运算符。
运算符 | 描述 |
---|---|
& | 这是按位"与"运算符 |
| | 这是按位"或"运算符 |
^ | 这是按位"异或"或异或运算符 |
以下是展示这些运算符的真值表。
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |