我刚刚开始学习批处理,这给我带来了很多麻烦。我想要做的是先输入3个不同的变量,然后将它们变成一个变量。然后我想循环遍历该变量以汇总其所有数字。
以下是一个例子:
变量1:123
变量2:456
变量3:789
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45
这是我到目前为止的代码:
@echo off
SET /p var1="Enter var 1"
SET /p var2="Enter var 2"
SET /p var3="Enter var 3"
SET allvars=%var1%%var2%%var3%
set sum = 0
FOR %i IN (%allvars%) DO command [ %sum% = %sum% + %i% ]
echo %sum%
我从来没有批量编写FOR循环所以我猜我在synax上犯了一个大错。任何帮助将不胜感激!
答案 0 :(得分:1)
更好的例子:
@echo off &setlocal disableDelayedExpansion
SET /p "var1=Enter var 1 "
SET /p "var2=Enter var 2 "
SET /p "var3=Enter var 3 "
SET "allvars=%var1%%var2%%var3%"
for /f "delims=:" %%i in ('"(@echo(%allvars%&@echo()|findstr /o $"') do set /a len=%%i-4
set /a sum=0
FOR /l %%i IN (0,1,%len%) DO call set /a sum+=%%allvars:~%%i,1%%
echo %sum%