计算批处理脚本中两个变量的总和

Swa*_*age 52 variables batch-file dosbox

这是我第一次使用Stack Overflow,所以请对这个问题保持宽容.我一直在尝试使用批处理编程并使用DOSbox在我的linux机器上运行它们.

这是我一直在使用的代码:

@echo off
set a=3
set b=4
set c=%a%+%b%
echo %c%
set d=%c%+1
echo %d%
Run Code Online (Sandbox Code Playgroud)

输出是:

3+4
3+4+1
Run Code Online (Sandbox Code Playgroud)

我如何添加两个变量而不是回显该字符串?

sta*_*ast 75

您需要/a在set命令中使用该属性.

例如,

set /a "c=%a%+%b%"
Run Code Online (Sandbox Code Playgroud)

这允许您在set命令中使用算术表达式,而不是简单的连接.

您的代码将是:

@set a=3
@set b=4
@set /a "c=%a%+%b%"
echo %c%
@set /a "d=%c%+1"
echo %d%
Run Code Online (Sandbox Code Playgroud)

并将输出:

7
8
Run Code Online (Sandbox Code Playgroud)

  • 我试过了,但没用.输出ECHO关闭,ECHO关闭. (2认同)
  • `set /ac = %a% + %b%` 给了我`缺少操作数。` (2认同)
  • @staticbeast 因为 `set /a` 是 Windows NT 的 cmd 扩展。DOS 没有。[Windows cmd **不是** DOS](http://superuser.com/q/451432/241386) (2认同)