Board logo

标题: [文本处理] (已解决)批处理如何保留电话号码和通话时间,对通话时长排序? [打印本页]

作者: 非常感谢    时间: 2013-8-4 16:40     标题: (已解决)批处理如何保留电话号码和通话时间,对通话时长排序?

本帖最后由 非常感谢 于 2013-8-4 22:26 编辑

保留电话号码和通话时长。要对通话时长做一个排序,(电话号码全部保留,不做过滤)
上一次对通话时间做一个排序,在论坛得到了答案,只是没添加电话号码,所已对数据没法分析统计,希望版主帮忙,谢谢!
将内容粘贴到记事本的样子如下:

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

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


批处理后
+861022222222   01:08:08
+861077777777   00:10:09
+861011111111   00:05:07


通话时长合计:01:23:24
作者: canyuexiaolang    时间: 2013-8-4 20:45

本帖最后由 canyuexiaolang 于 2013-8-4 20:46 编辑
  1. (for /f "tokens=3,7 delims=;" %%i in (1.txt) do @(echo %%~i %%j)) > new.txt
复制代码

作者: CrLf    时间: 2013-8-4 20:46

  1. @echo off
  2. for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
  3. (
  4.    @for /f "tokens=3,7 delims=;" %%a in (a.txt) do @echo %%~a%tab%%%b
  5. ) | more /t20 | sort /+20 /r /o b.txt
  6. pause
复制代码

作者: canyuexiaolang    时间: 2013-8-4 20:47

统计通话时长真蛋疼..真的..坐等@batman
作者: 非常感谢    时间: 2013-8-4 21:01

回复 3# CrLf


  这个可以,
项目                通话时长  
+861022222222       01:08:08  
+861077777777       00:10:09  
+861011111111       00:05:07  

只是缺个  合计:01:23:24  希望可以修正,谢谢!
作者: 非常感谢    时间: 2013-8-4 21:04

回复 2# canyuexiaolang


   项目 通话时长
+861077777777 00:10:09
+861011111111 00:05:07
+861022222222 01:08:08
这个通话时长没有排序,也缺少合计时间。可以修正吗?
作者: CrLf    时间: 2013-8-4 21:15

本帖最后由 CrLf 于 2013-8-4 22:08 编辑

来个有合计的:
  1. @echo off
  2. %1 goto main
  3. for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
  4. for /f "tokens=3,7 delims=;" %%a in (a.txt) do (
  5.    echo %%~a%tab%%%b
  6.    for /f "tokens=1-3 delims=:" %%i in ("%%b") do set/a h+=1%%i%%100,m+=1%%j%%100,s+=1%%k%%100
  7. )
  8. set/a m+=s/60,s=s%%60+100,h+=m/60,m=m%%60+100
  9. if %h% lss 10 set h=0%h%
  10. echo 合计: %h%:%m:~-2%:%s:~-2%
  11. exit/b
  12. :main
  13. call %0 : 2>nul | more /t20 | sort /+20 /r /o b.txt
  14. pause
复制代码

作者: 非常感谢    时间: 2013-8-4 21:22

本帖最后由 非常感谢 于 2013-8-4 21:40 编辑

7楼的 按任意键后,出现b.txt就好了,那就完美了,,谢谢
作者: CrLf    时间: 2013-8-4 21:29

测试遗留没删掉,7 楼代码已修改
作者: 非常感谢    时间: 2013-8-4 21:36

本帖最后由 非常感谢 于 2013-8-4 22:24 编辑

测试成功,请大家参考7楼代码,感谢CrLf的热心帮助。




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