使用批处理文件在列中汇总值

时间:2013-11-07 15:07:37

标签: batch-file sum

我是在Windows上批处理文件编程的新手,所以希望有人可以帮助我: 我想使用批处理文件来总结一个名为'TEST.csv'的csv文件中第3列的所有值:

01/01/2013;1;1342
01/01/2013;2;1484
01/01/2013;3;1528

之后,我想使用if语句: 如果第3列的总和不等于0,则启动特定程序blabla.exe

非常感谢!

1 个答案:

答案 0 :(得分:2)

setlocal enabledelayedexpansion

for /f "tokens=3 delims=;" %%a in (test.csv) do (
    set /a num=!num!+%%a
)
if !num! GTR 0 blabla.exe

处理小数:

setlocal enabledelayedexpansion

for /f "tokens=3 delims=;" %%a in (test.csv) do (
    set num=!num!+%%a
    )
    set num=!num:~1!
call :Eval !num! ret
if %ret% GTR 0 blabla.exe
exit /b

:Eval in out
setlocal
if exist eval.vbs del eval.vbs
>eval.vbs echo wsh.echo eval("%1")
for /f "delims=" %%a in ( 
  'cscript //nologo eval.vbs' 
) do endlocal & set %~2=%%a
del eval.vbs