中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:提取文本中的指定字符并生成新的文本
作者:
标题: 求助:提取文本中的指定字符并生成新的文本 上一主题 | 下一主题
lzs1977
新手上路





积分 3
发帖 3
注册 2008-10-30
状态 离线
『楼 主』:  求助:提取文本中的指定字符并生成新的文本

请问有多个文本,如何用批处理把文件里的数值提取出来(连表格线也不要)合并成新的文本 .或者合并后删除除数字以外的字符

例如 :现有A.TXT

上帐成功明细清单
                                    
种类代码:1010            单位代码:500141         
单位名称:华龙      
批次号:08102300344       账务主机入帐日期:20081023
   
┏━━━┳━━━━━━┳━━━━━━━┳━━━┳━━━━━┓
┃ 序号  ┃   用 户 号    ┃    帐   号        ┃  户名 ┃上帐金额   ┃
┣━━━╋━━━━━━╋━━━━━━━╋━━━╋━━━━━┫
┃     1  ┃06775         ┃603970001203 ┃叶龙  ┃  23.09      ┃
┃     2  ┃12196         ┃603970001200 ┃陈力  ┃   13.85     ┃
┃总金额┃                  ┃                     ┃         ┃   36.94    ┃
┗━━━┻━━━━━━┻━━━━━━━┻━━━┻━━━━━┛

B.TXT
上帐成功明细清单
                                    
种类代码:1010            单位代码:500149         
单位名称:中国珍申        
批次号:081023001      账务主机入帐日期:20081029
   
┏━━━┳━━━━━━┳━━━━━━━┳━━━┳━━━━━┓
┃ 序号  ┃   用 户 号    ┃    帐   号        ┃  户名 ┃上帐金额   ┃
┣━━━╋━━━━━━╋━━━━━━━╋━━━╋━━━━━┫
┃     1  ┃06779         ┃603970001209 ┃叶里   ┃  25.80     ┃
┃     2  ┃12198         ┃603970001277 ┃陈新  ┃   52.15     ┃
┃总金额┃                  ┃                     ┃         ┃   77.95    ┃
┗━━━┻━━━━━━┻━━━━━━━┻━━━┻━━━━━┛

希望生成的合并文本c.txt效果如下:

     1      06775         603970001203    叶龙        23.09      
     2      12196         603970001200     陈力       13.85   
总金额                                                            36.94   

     1      06779         603970001209     叶里    25.80     
     2      12198         603970001277     陈新     52.15     
总金额                                                             77.95   


或者还可以生成没有总金额这一行的

不知道高手们能不能做出这两种批处理文件呢 小弟菜鸟在这万分感谢!

───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-10-30]在帖子标题中增加搜索关键字
说明:原标题"求助!!!望高手们给我帮助做批处理"不利于论坛搜索
处罚:因属论坛新人,不予积分处罚
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-10-30 at 23:26 ]

2008-10-30 21:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

findstr 过滤掉 ━

然后for 按┃分割……

输出对应块即可。

不要最后一行的话,将结果再findstr过滤掉 总金额

   此帖被 +1 点积分    点击查看详情   
评分人:【 lzs1977 分数: +1  时间:2008-10-31 10:48




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-10-30 22:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 3 楼』:  

skip=1  findstr 匹配 "┃"
替换掉┃



简单!简单!再简单!
2008-10-30 22:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

skip不好用吧?只能最顶去掉……

替换的思想不错



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-10-31 00:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 5 楼』:  

应该可以的啊
@echo off&setlocal enabledelayedexpansion&color
for %%i in (*.txt) do (
echo.>>c.txt
for /f "skip=1 delims=" %%i in ('findstr /i "┃" "%%i"') do (
set str=%%i
set str=!str:┃=!
>>c.txt echo !str!
))
pause




简单!简单!再简单!
2008-10-31 00:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

……制表的 十字符号记错了。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-10-31 01:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 7 楼』:  

有“总金额”:
@echo off
for %%t in ("C:\test\*.txt") do (
  for /f "skip=9 delims=┃ eol=┗ tokens=1-5 usebackq" %%a in ("%%t") do (
    echo %%a %%b %%c %%d %%e>>total.txt
    if %%a==总金额 echo.>>total.txt
  )
)
无“总金额”:
@echo off
for %%t in ("C:\test\*.txt") do (
  for /f "skip=9 delims=┃ eol=┗ tokens=1-5 usebackq" %%a in ("%%t") do (
    if %%a==总金额 (echo.>>-total.txt) else echo %%a %%b %%c %%d %%e>>-total.txt
  )
)


   此帖被 +1 点积分    点击查看详情   
评分人:【 lzs1977 分数: +1  时间:2008-10-31 10:47


2008-10-31 10:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: