找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27359|回复: 5

[文本处理] [已解决]BAT如何把数据批量分割输出成多列?

[复制链接]
发表于 2013-6-3 13:11:55 | 显示全部楼层 |阅读模式
本帖最后由 lantern 于 2013-6-4 01:08 编辑

吐槽下联通网上营业厅导出的详单通话时长显示方式,没法加总...

求助:
1、把“AB分CD秒”类 输出成两列     AB    CD
2、把“EF秒”类 输出成两列    0    EF
3、保持原行序

通话时长
1分30秒
38秒
1分03秒
18分48秒
50分13秒
51秒
1分15秒
1分11秒
52秒
1分44秒
42秒
09秒
1分15秒
3分28秒
1分04秒
12秒
27秒
31秒
1分17秒
1分24秒
2分54秒
08秒

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-6-3 14:15:32 | 显示全部楼层
分秒作分隔符 再加个判断就可以
发表于 2013-6-3 17:57:16 | 显示全部楼层
  1. @echo off
  2. (for /f "tokens=1,2 delims=分秒" %%a in (a.txt) do (
  3.         if "%%b"=="" (echo 0分%%a秒) else echo %%a分%%b秒
  4. ))>b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-6-3 20:46:16 | 显示全部楼层
CrLf 发表于 2013-6-3 17:57

谢谢,用完这个代码再加工一下达到了我的目的

改改能不能一部到位?谢谢
a.txt
2分55秒
2分30秒
27秒
1分
13秒
1分40秒
2分05秒
2分03秒
2分49秒
6分12秒
4分03秒
21秒
1分28秒

b.txt
2        55
2        30
0        27
0        1
0        13
1        40
2        05
2        03
2        49
6        12
4        03
0        21
1        28
发表于 2013-6-4 00:10:21 | 显示全部楼层
去掉 if "%%b"=="" (echo 0分%%a秒) else echo %%a分%%b秒 这里面你不向显示的字符
自己动下手哦
 楼主| 发表于 2013-6-4 00:52:36 | 显示全部楼层
本帖最后由 lantern 于 2013-6-4 01:06 编辑
去掉 if "%%b"=="" (echo 0分%%a秒) else echo %%a分%%b秒 这里面你不向显示的字符
自己动下手哦
terse 发表于 2013-6-4 00:10

  1.     @echo off
  2.     (for /f "tokens=1,2 delims=分秒" %%a in (a.txt) do (
  3.             if "%%b"=="" (echo 0        %%a) else echo %%a        %%b
  4.     ))>b.txt
复制代码
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 07:19 , Processed in 0.028873 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表