67

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

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

@echo off
set a=3
set b=4
set c=%a%+%b%
echo %c%
set d=%c%+1
echo %d%

它的输出是:

3+4
3+4+1

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

4

6 回答 6

92

您需要/a在 set 命令上使用该属性。

例如,

set /a "c=%a%+%b%"

这允许您在 set 命令中使用算术表达式,而不是简单的串联。

您的代码将是:

@set a=3
@set b=4
@set /a "c=%a%+%b%"
echo %c%
@set /a "d=%c%+1"
echo %d%

并会输出:

7
8
于 2012-05-20T16:41:55.123 回答
3

根据此处找到的有用的运算符列表[可以将运算符视为数学表达式] ,您可以通过使用+=运算符而不是+运算符来告诉批处理编译器您正在操作变量而不是固定数字。

希望我有所帮助!

于 2015-02-09T01:48:09.113 回答
1
@ECHO OFF
TITLE Addition
ECHO Type the first number you wish to add:
SET /P Num1Add=
ECHO Type the second number you want to add to the first number:
SET /P Num2Add=
ECHO.
SET /A Ans=%Num1Add%+%Num2Add%
ECHO The result is: %Ans%
ECHO.
ECHO Press any key to exit.
PAUSE>NUL
于 2016-05-17T03:53:18.067 回答
1

您可以求解任何方程,包括使用以下代码添加:

@echo off

title Richie's Calculator 3.0

:main

echo Welcome to Richie's Calculator 3.0

echo Press any key to begin calculating...

pause>nul

echo Enter An Equation

echo Example: 1+1

set /p 

set /a sum=%equation%

echo.

echo The Answer Is:

echo %sum%

echo.

echo Press any key to return to the main menu

pause>nul

cls

goto main
于 2016-10-25T04:13:20.150 回答
0
@ECHO OFF
ECHO Welcome to my calculator!
ECHO What is the number you want to insert to find the sum?
SET /P Num1=
ECHO What is the second number? 
SET /P Num2=
SET /A Ans=%Num1%+%Num2%
ECHO The sum is: %Ans%
PAUSE>NUL
于 2014-08-07T11:29:09.423 回答
-1

这是我的

echo Math+ 
ECHO First num:
 SET /P a= 
ECHO Second num:
 SET /P b=
 set /a s=%a%+%b% 
echo Result: %s%
于 2017-10-21T22:35:29.003 回答