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 に答える