AB123
AB123

Reputation: 163

Sum up values in column using batch file

I'm a newbee to programming in batch-files on windows, so hopefully someone can help me: I want to use a batch file to sum up all values of column 3 in a csv-file called 'TEST.csv':

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

After that, I want to use an if-statement: if the total sum of column 3 is unequal to 0, then start up a specific program blabla.exe

Thanks a lot!

Upvotes: 1

Views: 2142

Answers (1)

Matt Williamson
Matt Williamson

Reputation: 7095

setlocal enabledelayedexpansion

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

To deal with decimals:

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

Upvotes: 2

Related Questions