web-dev-qa-db-fra.com

Calcul de la somme de deux variables dans un script batch

Ceci est ma première fois sur Stack Overflow, alors soyez indulgent avec cette question. J'ai expérimenté la programmation par lots et j'utilise DOSbox pour les exécuter sur ma machine Linux. 

Voici le code que j'ai utilisé:

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

Le résultat de ceci est: 

3+4
3+4+1

Comment pourrais-je ajouter les deux variables au lieu de faire écho à cette chaîne?

44
Swarage

Vous devez utiliser la propriété /a dans la commande set.

Par exemple, 

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

Cela vous permet d'utiliser expressions arithmétiques dans la commande set plutôt qu'une simple concaténation.

Votre code serait alors:

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

et produirait:

7
8
65
staticbeast

Selon cette liste utile d’opérateurs [un opérateur peut être considéré comme une expression mathématique] trouvé ici , vous pouvez dire au compilateur de commandes que vous manipulez des variables au lieu de nombres fixes en utilisant le + = opérateur à la place de l'opérateur +.

J'espère que j'ai aidé!

3
lolzeryest

Vous pouvez résoudre n'importe quelle équation, y compris l'ajout avec ce code:

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

Vous recherchez la propriété '/ a'. Ici:

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

'/ a' est pour les mathématiques. Vous ne pouvez pas saisir de lettres. La valeur de retour par défaut est 0 . Le résultat sera:

7
8
0
Ghost Bladez
@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
Tamil selvan