Board logo

标题: [文本处理] BAT如何排列通话时长? [打印本页]

作者: 非常感谢    时间: 2013-8-3 15:44     标题: BAT如何排列通话时长?

通话时长
00:04:25
00:00:01
00:01:04
00:00:09
00:00:00
00:01:26
00:05:04
00:00:11
00:00:00
00:00:19
00:00:01
00:22:13
00:00:00
00:00:08
00:00:00
00:00:07
00:00:07
00:00:07
00:00:07
00:00:05
00:02:43
00:02:02
00:00:08
00:00:07
00:00:00
00:00:00
00:00:00
00:00:11
00:00:00
00:00:09
00:00:25
00:00:14
00:00:28
00:00:00
00:00:00
00:00:07
00:00:00
00:00:09
00:01:06
00:00:06
00:01:59
00:00:09
00:00:36
00:00:06
00:00:15
00:10:30
00:00:00
00:00:16
00:04:07
00:00:48
00:02:23
00:00:11
00:00:01
00:00:06
00:00:10
00:01:10
00:00:09
00:00:10
00:00:13
00:00:19
00:00:00
00:22:43
00:00:13
00:00:17
00:00:01
00:00:12
00:00:08
00:00:08
00:00:15
00:00:06
00:00:16
00:00:12
00:00:10
00:00:09
00:00:00
00:00:29
00:00:16
00:00:10
00:00:07
00:00:10
00:00:13
00:00:13
00:00:00
00:00:00
00:00:00
00:00:09
00:00:00
00:00:12
00:00:06
00:00:05
00:00:11
00:00:17
00:00:00
00:00:00
00:02:37
00:00:34
00:00:00
00:00:14
00:00:24
00:00:17
00:05:11
00:00:10
00:00:16
00:00:00
00:00:08
00:02:29
00:00:11
00:00:14
00:00:05
00:00:19
00:00:10
00:22:40
00:00:00
00:00:15
00:00:07
00:00:41
00:00:14
00:00:07
00:00:00
00:00:18
00:00:07
00:00:00
00:00:15
00:00:08
00:00:00
00:00:10
00:00:00
00:02:24
00:00:21
00:00:10
00:00:21
00:00:11
00:00:00
00:00:00
00:00:06
00:00:12
00:00:00
00:00:25
00:00:10
00:00:06
00:00:14
00:00:00
00:00:06
00:00:06
00:00:12
00:06:12
00:00:00
00:00:19
00:00:18
00:00:22
00:00:34
00:00:17
00:00:08
00:00:00
00:00:14
00:00:54
00:00:07
00:00:13
00:00:08
00:00:19
00:00:10
00:17:58
00:00:00
00:00:08
00:00:07
00:00:09
00:00:18
00:00:16
00:00:09
00:00:05
00:00:00
00:01:08
00:04:51
00:00:07
00:00:00
00:00:08
00:00:00
00:00:10
00:00:09
00:00:06
00:00:15
00:00:08
00:00:10
00:00:00
00:00:07
00:00:17
00:00:00
00:00:10
00:00:11
00:00:09
00:00:17
00:01:06
00:00:14
00:00:14
00:00:14
00:00:08
00:00:00
00:05:16
00:00:09
00:00:11
00:22:41
00:00:38
00:00:43
00:00:10
00:00:06
00:00:21
00:00:07
00:00:13
00:00:22
00:00:19
00:00:19
00:15:47
00:00:00
00:00:06
00:00:09
00:00:07
00:00:00
00:00:08
00:00:12
00:00:15
00:00:12
00:00:00
00:04:36
00:00:09
00:00:00
00:00:05
00:00:00
00:00:10
00:00:08
00:00:09
00:00:00
00:00:20
00:00:06
00:00:00
00:00:08
00:00:08
00:00:00
00:04:09
00:00:00
00:00:20
00:00:23
00:00:13
00:04:47
00:00:00
00:00:13
00:00:06
合计: 04:02:25




上面的通话时间长短不一,想要由长到短从新排列一下。是否可行?(里面有通话时长一样的都要保留,请不要过滤) 谢谢!
作者: batman    时间: 2013-8-3 15:55

sort /r a.txt
作者: 非常感谢    时间: 2013-8-3 16:09

您好batman,测试了一下没变化呀。  请帮忙修正一下,谢谢!
作者: CrLf    时间: 2013-8-3 17:54

本帖最后由 CrLf 于 2013-8-3 17:58 编辑

回复 3# 非常感谢


    你是要输出到文件吧,那就写成这样:
  1. @sort /r a.txt /o a.txt
复制代码
如果要保留原有格式,就这样:
  1. @(echo 通话时长
  2. findstr /b [0-9] a.txt|sort /r
  3. find "合计"<a.txt)>b.txt
  4. move /y b.txt a.txt
复制代码

作者: 非常感谢    时间: 2013-8-3 19:14

我想把两个代码合在一起用怎么写?顺序是
第一个代码:
@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 a.txt /o a.txt
作者: weichenxiehou    时间: 2013-8-4 09:14

回复 5# 非常感谢
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "tokens=7delims=;" %%a in (a.txt) do (
  3.     echo %%a
  4.     for /f "tokens=1-3delims=:" %%i in ("%%a") do (
  5.         set/a h+=1%%i%%100,m+=1%%j%%100,s+=1%%k%%100
  6.     )
  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. )>b.txt
  12. sort /r b.txt /o b.txt
  13. start b.txt
复制代码





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