Você realmente deve se afastar dos arquivos em lote.
@echo off
setlocal enabledelayedexpansion
set x=100
set result=0
for /L %%i in (1,1,5) do (
set /A result=!x! + %%i
echo !result!
)
endlocal
Eu tenho um loop em um script em lote e gostaria de fazer algumas aritméticas com o contador de loops. Descobri como avaliar expressões, como adicionar números aqui: Avaliando expressões no script de lote do windows
Como faço o mesmo, mas com variáveis?
Por exemplo:
set x = 100
for /L %%i in (1,1,5) do (
set Result=0
set /a Result = %%i+%%x
echo %Result%
)
Como saída, eu esperaria
101 102 103 104 105
Obrigado!
Você está redefinindo o resultado para zero em cada etapa. Mova isso antes do loop. Além disso, tente help set
no prompt cmd
para obter mais informações sobre tudo isso. Especialmente, veja a seção sobre expansão de variáveis de ambiente atrasada.