Board logo

标题: [文本处理] [已解决]批处理怎样实现通话时长当月合计? [打印本页]

作者: 非常感谢    时间: 2013-8-16 17:15     标题: [已解决]批处理怎样实现通话时长当月合计?

批处理前:
日期;日期;项目;目的地;类别;费率;通话时长;信用点数金额;货币

"2013年8月10日 23:10";"2013-08-02T23:10:57+00:00";"+861077777777";"China-Beijing";"通话";0.000;00:10:09;0.000;KRW
"2013年8月10日 23:10";"2013-08-02T23:10:39+00:00";"+861011111111";"China-Beijing";"通话";0.000;00:05:07;0.000;KRW
"2013年8月10日 23:10";"2013-08-02T23:10:22+00:00";"+861022222222";"China-Beijing";"通话";0.000;01:08:08;0.000;KRW
"2013年8月9日 23:10";"2013-08-02T23:10:57+00:00";"+8610333333333";"China-Beijing";"通话";0.000;00:19:09;0.000;KRW
"2013年8月9日 23:10";"2013-08-02T23:10:39+00:00";"+8610555555555";"China-Beijing";"通话";0.000;00:25:07;0.000;KRW

批处理后:

2013年8月10日        +861022222222            01:08:08
2013年8月9日          +8610555555555          00:25:07
2013年8月9日          +8610333333333          00:19:09
2013年8月10日        +861077777777            00:10:09
2013年8月10日        +861011111111            00:05:07

合计: 02:07:40
作者: apang    时间: 2013-8-16 17:58

稍微改下就可以了嘛
  1. @echo off
  2. for /f "tokens=1-2delims=-./" %%a in ("%date:~,7%") do (
  3.     set /a yy=%%a,mm=1%%b-100
  4. )
  5. (for /f "tokens=1-7delims=;" %%a in ('findstr %yy%年%mm%月 a.txt') do (
  6.     for /f %%i in ("%%~a") do echo,%%g %%i     %%~c     %%g
  7.     for /f "tokens=1-3 delims=:" %%i in ("%%g") do (
  8.         set /a h+=1%%i-100,m+=1%%j-100,s+=1%%k-100
  9.     )
  10. ))>$
  11. set /a k1=s/60,s=s%%60+100,m+=k1,k2=m/60,m=m%%60+100,h+=k2
  12. (
  13.     for /f "tokens=1*" %%a in ('sort /r $') do echo,%%b
  14.     echo,&echo,合计:%h%:%m:~1%:%s:~1%
  15. )>b.txt
  16. del $
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2