2012-05-20 8 views
36

Dies ist mein erstes Mal auf Stack Overflow, also bitte seien Sie nachsichtig mit dieser Frage. Ich habe mit der Programmierung mit Batch experimentiert und DOSbox verwendet, um sie auf meinem Linux-Rechner auszuführen.Berechnen der Summe von zwei Variablen in einem Batch-Skript

Hier ist der Code, die ich unter Verwendung worden:

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

Der Ausgang davon ist:

3+4 
3+4+1 

Wie würde ich die beiden Variablen hinzufügen, anstatt die Zeichenfolge von Echo?

Antwort

54

Sie müssen die Eigenschaft /a für den Befehl set verwenden.

Zum Beispiel

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

Auf diese Weise können Sie arithmetic expressions im Set-Befehl verwenden, anstatt einfache Verkettung.

Ihr Code wäre dann:

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

und würde Ausgang:

7 
8 
+2

Ich habe versucht, das, und es hat nicht funktioniert. es Ausgang ECHO ist aus und ECHO ist aus. – Swarage

+0

Wenn Sie den Code in einer .bat-Datei speichern und über die Befehlszeile ausführen, wird die Ausgabe '7 8' erzeugt. Der Echo-Befehl wird weiterhin ausgegeben, wenn er speziell verwendet wird, selbst wenn das Echo ausgeschaltet ist. Was sehen Sie, wenn Sie den Code ausführen? – staticbeast

+0

Ich speicherte den Code in einer .bat-Datei. Eine Sache jedoch. Ich laufe Linux und ich habe den Code von DOSbox ausgeführt. Ich habe das Programm ausgeführt, indem ich den Namen der .bat-Datei in DOSbox eingegeben habe (nach der Installation und all dieser zusätzlichen Prozedur). Der Ausgang ist "ECHO ist aus" und in der nächsten Zeile "ECHO ist aus" – Swarage

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 
+0

Wie wäre es mit Formatierung? – ex3v

+3

@ ex3v, auf dieser Seite kann jeder andere Leute Beiträge formatieren. Ist das nicht wunderbar? = D – Sinatr

3

Nach dieser hilfreiche Liste der Operatoren [ein Operator kann als ein mathematischer Ausdruck gedacht werden] gefunden here, können Sie den Stapelcompiler sagen, dass Sie Variablen anstelle von festen Zahlen manipulieren, indem Sie die + = Opera verwenden Tor anstelle des + Betreibers.

Ich hoffe, ich half!

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 
+0

es bringt nichts neues, nichts zu erklären. –

0

können Sie jede Gleichung lösen mit diesem Code einschließlich des Hinzufügens:

@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 
-1

Sie sind für die '/ a' Eigenschaft suchen. Hier:

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

'/ a' ist für Mathematik. Sie können keine Buchstaben eingeben. Der Standardrückgabewert 0. Der Ausgang sein wird:

7 
8 
+1

Ich kann hier keine weiteren Informationen als in den angenommenen, 4 Jahre alten Antworten sehen! – jeb

-1

hier ist mein

echo Math+ 
ECHO First num: 
SET /P a= 
ECHO Second num: 
SET /P b= 
set /a s=%a%+%b% 
echo Result: %s% 
+0

Dies ist fast die gleiche Antwort (3 Jahre alt) wie die Antwort von Tamil selvan. – jeb

Verwandte Themen