1

我是 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

非常感谢!

4

1 回答 1

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
于 2013-11-07T15:37:49.127 回答