基础算术运算
语法格式:set /a 变量名=表达式
示例:
:: 加法 set /a result=5+3 &echo 5+3=%result% :: 减法 set /a result=10-4 &echo 10-4=%result% :: 乘法(使用*需转义为^*) set /a result=6*3 &echo 6*3=%result% :: 除法(结果取整) set /a result=15/4 &echo 15/4=%result% :: 输出3(舍去小数) :: 取模(求余数) set /a result=17%%5 &echo 17 mod 5=%result% :: 注意:%需写为%%
复合运算与变量使用
-
连续计算:
set /a result=2+3*4 &echo 2+3*4=%result% :: 输出14(先乘后加) set /a result=(2+3)*4 &echo (2+3)*4=%result% :: 输出20(括号优先级)
-
变量参与运算:
set num1=8 set num2=2 set /a result=num1*num2 &echo %num1%*%num2%=%result% :: 输出16
-
自增/自减:
set /a count+=1 :: 等价于 count=count+1 set /a count-=3 :: 等价于 count=count-3
位运算(高级用法)
set /a
支持二进制操作:
set /a "result=5 & 3" :: 与运算(0101 & 0011 = 0001 → 1) set /a "result=5 | 3" :: 或运算(0101 | 0011 = 0111 → 7) set /a "result=5 ^ 3" :: 异或(0101 ^ 0011 = 0110 → 6) set /a "result=~5" :: 取反(-6) set /a "result=5 << 2" :: 左移2位(5*4=20) set /a "result=20 >> 2" :: 右移2位(20/4=5)
注意事项
- 仅限整数:
所有运算结果为整数(除法舍去小数,15/4=3
)。 - 数值范围:
支持32位有符号整数(-2,147,483,648 到 2,147,483,647),超出会溢出。 - 转义字符:
在CMD中需转义为^*
(但set /a
内可直接用),需写为。 - 变量作用域:
计算结果仅在当前CMD会话有效,关闭窗口后消失。
实用技巧
- 直接输出结果(不保存变量):
set /a 5+3
- 十六进制/八进制输入:
set /a result=0xA+2 :: 十六进制A(10)+2=12 set /a result=012+1 :: 八进制12(10)+1=11
CMD的set /a
命令是轻量级整数计算工具,适合简单运算或脚本中的数值处理,对于复杂计算(如小数、函数),建议使用PowerShell、VBScript或Python等更强大的工具。
引用说明参考Microsoft官方文档《Windows Command Line set 命令》,结合实践经验整理。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6041.html