Board logo

标题: [文本处理] [已解决]BAT如何删除文本中指定字符之前和之后的文字内容? [打印本页]

作者: 4461    时间: 2022-3-24 20:20     标题: [已解决]BAT如何删除文本中指定字符之前和之后的文字内容?

[已解决]谢for_flr大侠:我想使用BAT对文件夹中将所有文本进行操作,删除文件中“正文开始”之前的文字,同时删除“正文结束”之后的文件,只留下“正文开始”之后,“正文结束”之前的文字。
比如:文件1.txt内容为:

2022年3月23日XXXX单位检查情况汇总上报,上报人:XXXXX,时间:XXXXXXXXXXX
正文内容:
XXXX检查XXXXXX正常未发现问题。
正文结束。
XXXXXXXXXXXXXXXXXXXXX


期望通过运行BAT生成文件1a.txt 内容为:
XXXX检查XXXXXX正常未发现问题。

谢谢!
作者: Batcher    时间: 2022-3-24 20:24

回复 1# 4461


    请选几个真实的文本打包上传到阿里云盘或百度网盘以便测试代码
作者: for_flr    时间: 2022-3-25 09:22

  1. #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit /b"
  2. $pattern="正文内容:(.*)正文结束"
  3. dir *.txt|%{
  4.   $txt=(gc $_) -join ""
  5.   $newname=$_.basename+"_a.txt"
  6.   if($txt -match $pattern){
  7.     sc $newname $matches[1]
  8.   }
  9. }
复制代码

作者: 4461    时间: 2022-3-25 15:21

回复 3# for_flr


    谢谢大侠的指点应助!!!




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