我想添加文本文件中各行的总计。
我的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
最佳答案
您可以这样做:
@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
关于windows-xp - 如何在 dos 批处理中添加文件中的总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789198/