标题: [数值计算] 批处理统计通话记录时间的方法 [打印本页]
作者: 非常感谢 时间: 2013-8-3 11:59 标题: 批处理统计通话记录时间的方法
将内容粘贴到记事本的样子如下:
日期;日期;项目;目的地;类别;费率;通话时长;信用点数金额;货币
"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
批处理后
00:10:09
00:05:07
01:08:08
合计:01:23:24
作者: xxpinqz 时间: 2013-8-3 15:00
- @echo off&setlocal enabledelayedexpansion
- (for /f "tokens=7delims=;" %%a in (a.txt) do (
- echo %%a
- for /f "tokens=1-3delims=:" %%i in ("%%a") do (
- set/a h+=1%%i%%100,m+=1%%j%%100,s+=1%%k%%100
- )
- )
- set/a m+=s/60,s=s%%60+100,h+=m/60,m=m%%60+100
- if !h! lss 10 set h=0!h!
- echo 合计: !h!:!m:~-2!:!s:~-2!
- )>b.txt
- start b.txt
复制代码
作者: 非常感谢 时间: 2013-8-3 15:19
测试了一下,合计时间成功,只是结果显示上是否可以排列一下?通话时间多到少如:
22:11:00
00:19:22
00:15:33
00:00:08
这样就知道3分钟或5分钟以上的通话有几个?
作者: xxpinqz 时间: 2013-8-3 18:21
本帖最后由 xxpinqz 于 2013-8-3 18:24 编辑
回复 3# 非常感谢 - @echo off
- %1(for /f "delims=" %%a in ('%~0 :^|sort /r')do echo,%%a)>b.txt
- for /f "tokens=7delims=;" %%a in (a.txt) do (
- echo %%a
- for /f "tokens=1-3delims=:" %%i in ("%%a") do (
- set/a h+=1%%i%%100,m+=1%%j%%100,s+=1%%k%%100
- )
- )
- set/a m+=s/60,s=s%%60+100,h+=m/60,m=m%%60+100
- if %h% lss 10 set h=0%h%
- echo 合计: %h%:%m:~-2%:%s:~-2%
复制代码
作者: 非常感谢 时间: 2013-8-3 19:19
没成功,不过下面这个代码可以@sort /r b.txt /o c.txt
我想把两个代码合在一起用怎么写
第一个代码就是上面写的:
@echo off&setlocal enabledelayedexpansion
(for /f "tokens=7delims=;" %%a in (a.txt) do (
echo %%a
for /f "tokens=1-3delims=:" %%i in ("%%a") do (
set/a h+=1%%i%%100,m+=1%%j%%100,s+=1%%k%%100
)
)
set/a m+=s/60,s=s%%60+100,h+=m/60,m=m%%60+100
if !h! lss 10 set h=0!h!
echo 合计: !h!:!m:~-2!:!s:~-2!
)>b.txt
start b.txt
第二个代码:
@sort /r b.txt /o c.txt
作者: CrLf 时间: 2013-8-3 19:39
回复 5# 非常感谢
庐山瀑布汗,你把回复中除了代码以外的文字统统拿掉直接运行就可以了...
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |