У меня есть цикл в пакетном скрипте, и я хотел бы проделать некоторую арифметику со счетчиком циклов. Я узнал, как оценивать выражения, как складывать числа здесь: Оценка выражений в пакетном скрипте 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
Подскажите подробнее обо всем этом. Особенно обратите внимание на раздел, посвященный отложенному расширению переменных окружения.