Назад | Перейти на главную страницу

Добавление чисел, хранящихся в переменных, в пакетном скрипте Windows

У меня есть цикл в пакетном скрипте, и я хотел бы проделать некоторую арифметику со счетчиком циклов. Я узнал, как оценивать выражения, как складывать числа здесь: Оценка выражений в пакетном скрипте Windows

Как мне сделать то же самое, но с переменными?

Например:

set x = 100
for /L %%i in (1,1,5) do (
    set Result=0
    set /a Result = %%i+%%x
    echo %Result%
)

В качестве результата я ожидал

101 102 103 104 105

Спасибо!

Вам действительно стоит отказаться от пакетных файлов.

@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

Вы сбрасываете Результат на ноль на каждом шаге. Переместите это перед петлей. Также попробуйте help set на cmd Подскажите подробнее обо всем этом. Особенно обратите внимание на раздел, посвященный отложенному расширению переменных окружения.