循环变量并对其组件求和

时间:2014-01-25 18:57:43

标签: batch-file

我刚刚开始学习批处理,这给我带来了很多麻烦。我想要做的是先输入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上犯了一个大错。任何帮助将不胜感激!

1 个答案:

答案 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%