Как я могу добавить итоги из файла в пакете DOS - PullRequest
2 голосов
/ 22 июля 2011

Я хочу добавить итоги по строкам в текстовом файле.

Мой file.txt выглядит так:

Totals: 7 passed, 0 failed, 0 skipped
Totals: 10 passed, 0 failed, 0 skipped
Totals: 6 passed, 0 failed, 0 skipped
Totals: 9 passed, 0 failed, 0 skipped
Totals: 4 passed, 0 failed, 1 skipped
Totals: 31 passed, 0 failed, 0 skipped
Totals: 10 passed, 0 failed, 0 skipped
Totals: 4 passed, 0 failed, 0 skipped
Totals: 8 passed, 0 failed, 0 skipped

Поэтому, когда я запускаю sumtotals.bat file.txt, я хочу что-то вроде этого:

Passed : XX
Failed : 0
Skipped: X

1 Ответ

4 голосов
/ 22 июля 2011

Вы можете к этому:

@echo off

set passed=0
set failed=0
set skipped=0

for /f "tokens=2,4,6 delims= " %%a in (%1) do call :add %%a %%b %%c

echo passed=%passed%
echo failed=%failed%
echo skipped=%skipped%


goto :eof


:add
REM echo %1 %2 %3
set /a passed=%passed%+%1
set /a failed=%failed%+%2
set /a skipped=%skipped%+%3


:eof

результат:

C:\temp>sumtotals.bat file.txt
passed=89
failed=0
skipped=1
...