Arithmetic self-operators Arithmetic self-operators

These operators work only on numeric operands.
The syntax is:
<target> += <right_operand>
<target> -= <right_operand>
<target> *= <right_operand>
<target> /= <right_operand>
<target> %= <right_operand>
<target> must be an existing variable and contain a numeric value. <right_operand> must evaluate to a numeric value. Note that if you want <right_operand> to be a result of an expression, you must enclose it in the $(*) expression evaluation call.
Operator += sums the <right_operand> value to the <target> value and stores the result in <target>.
Operator -= subtracts <right_operand> from <target> and stores the result in <target>.
Operator *= multiplies <target> by <right_operand> and stores the result in <target>.
Operator /= divides <target> by <right_operand> and stores the result in <target>.
Operator %= computes <target> modulus <right_operand> and stores the result in <target>.
The division and modulus operators fail with an error if <right_operand> is 0.
If both <target> and <right_operand> are integer values then the results of the division and modulus are integers (truncated for the division).
If <target> or <right_operand> or both are floating point values then the result is a floating point value.

Examples
%a=10 echo %a %a+=20 echo %a %a-=$(%a - 1) echo %a %a *= 10 echo %a %a /= 21 echo %a %a *= 20 echo %a %a /= 21.0 echo %a %b = 10.0 %a %= %b echo %a %a = 10 %b = 3 # nice trick %a /= %b.0 echo %a
See also
Operators

Index, Language Overview