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

[文本处理] 批处理如何提取/获取txt文本中两个指定字符串之间的行内容?

[复制链接]
发表于 2019-3-16 13:41:10 | 显示全部楼层 |阅读模式
示例文本:
!$(P04324354456546)~hdasjhdkahd_kadkashdkdsahdjk~大大哈哈好,大萨达,laingd@aa.com
dsadd_app~asdjkajdl~dsfksdhfkj
dsakdjlkasj_app~sajdkhsajk~sjkshfjka~哈哈哈哈哈哈~哈哈哈哈哈~987644456678888876554~132356555998~对对对
dsadasdsadas
dskakdhkashdk
dsahdashdkjsa
asdjkashdjka
askdhjkash
hasjkdhjka
eoj
!$(P04324354456546)~hdasjhdkahd_kadkashdkdsahdjk~大大dsad好,大sd达,laingd@aa.com
dsadd_app~asdjkajdl~dsfksdhfkj
dsakdjlkasj_app~sajdkhsajk~sjkshfjka~哈哈d哈fg哈g哈~s哈d哈哈~987644456678888876554~132356555998~对对对
dsadasdsadasdd
dskakdhkashdkdddd
dsahdassadsahdjkaddsadd
hasjkdhddddjkaddd
sddjsakhdkjahdka
eoj
很多行的数据,假设这个文件名是text.txt,里面都是以!$(P04开头,eoj结束,期间都是不规则的数据文本,什么字符都有,
请问各位老师怎么可以实现,我从1.txt中导入P04开头的字符串匹配出text.txt对应的数据,并且将对应的!$(P04xx)直至eoj直接输出到2.txt中?
求指教,我是小白,请详细一点,谢谢。
 楼主| 发表于 2019-3-16 16:30:03 | 显示全部楼层
有朋友帮忙一下吗?没有迟点再问
发表于 2019-3-16 16:41:37 | 显示全部楼层
  1. @echo off
  2. title 互助互利,代码可用,扫码头像,感谢赞助;有什么问题,可加QQ956535081及时沟通
  3. set "输入=text.txt"
  4. rem 自行修改,可单个或多个,以英文逗号分隔
  5. set "提取=!$(P04,!$(P05,!$(P12"
  6. set "输出=2.txt"
  7. powershell ^
  8.     $result='';$list=('%提取%').split(',');^
  9.     $text=[IO.File]::ReadAllText('%输入%', [Text.Encoding]::Default);^
  10.     for($i=0; $i -lt $list.length; $i++){^
  11.         if($text.Contains($list[$i])){^
  12.             $reg=[regex]::escape($list[$i])+'[\s\S]+?\neoj(\r?\n^|$)';^
  13.             $m=[regex]::matches($text,$reg);^
  14.             for($j=0; $j -lt $m.count; $j++){^
  15.                 $result+=$m[$j].value;^
  16.             };^
  17.         };^
  18.     };^
  19.     out-file -file '%输出%' -input $result -enc Default;
  20. pause
复制代码
 楼主| 发表于 2019-3-17 13:19:48 | 显示全部楼层
回复 3# zaqmlp


    运行不了呀
 楼主| 发表于 2019-3-24 15:51:47 | 显示全部楼层
顶上去,有人帮忙吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 04:00 , Processed in 0.018371 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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