'How to add values to batch script variables?
I know this may sound dumb, but I am a beginner at batch script, so I know almost nothing about it. Anyway, I want to change a variable; add 1 to it, here is my code:
@echo off
set num = 1
set num = %num% + 1
echo %num%
@echo on
Solution 1:[1]
Firstly, never use spaces in a standard set before and after =. This will create a variable with a trailing space and a value with a leading space. So technically you will have %num % and 1.
To demonstrate this, simply copy everything below and paste into a cmd prompt.
@echo off
set dummy = test
set dummy
echo %dummy%
echo %dummy %
@echo on
similarly with:
@echo off
set num = 1
set num | findstr /v "NUMBER"
set /a num+=1
set num | findstr /v "NUMBER"
echo %num%
echo %num %
@echo on
will result in two variables, %num % with a value of 1 and %num% with a value of 1
The results from the above will clarify your question in the comments.
To solve your arithmetic question, simply use the /a switch to specify that the values are numerical and we can use arithmetic sequence operators etc. on it.
@echo off
set "num=1"
set /a num+=1
echo %num%
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
