因为小数问题,兼用VBS比较方便。- @echo off&setlocal enabledelayedexpansion
- set batpath=%~d0%~p0
- echo 统计中...
- for /f %%i in ('dir /b /ad RPT2007*') do (
- cd /d %%i
- for /f "delims=" %%j in ('dir /b /s 62*') do (
- for /f "skip=5 tokens=4" %%k in ('type "%%j"') do (
- set t=%%k
- echo !t:,=! >>"%batpath%result.txt"
- )
- )
- cd ..
- )
- echo dim fso,data,n,sum,h >>cal.vbs
- echo set fso=createobject("scripting.filesystemobject") >>cal.vbs
- echo set data=fso.opentextfile("result.txt") >>cal.vbs
- echo do >>cal.vbs
- echo n=data.readline >>cal.vbs
- echo if isnumeric(n) then >>cal.vbs
- echo n=cdbl(n) >>cal.vbs
- echo sum=sum+n >>cal.vbs
- echo end if >>cal.vbs
- echo loop until data.atendofstream >>cal.vbs
- echo data.close >>cal.vbs
- echo fso.deletefile("result.txt") >>cal.vbs
- echo fso.deletefile "cal.vbs" >>cal.vbs
- echo msgbox "总额为:" ^& sum ^& "元。" >>cal.vbs
- start cal.vbs
复制代码
|