如何用批处理BAT找到a.txt中的片段并保存到b.txt? 100

例如:a.txt中大量数据>1abcdefg331d12dc1vgb3jkndoa8u24>2hcnuoby4y234f342f5534f543f5f34f523f43f... 例如:
a.txt中大量数据
>1
abcdefg331d12dc1vgb
3jkndoa8u24
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f
>3
.......
我要提取a.txt中的>2一整段(包括>2这一行),行数不确定,在>3前结束的这一段内容到b.txt并添加一个回车,能做到吗?谢谢!
如果能自定义输入并提取下行多个>标签那最好了
b.txt中显示:
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f
展开
 我来答
qop_dob
2020-01-09 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3933万
展开全部
不清楚你的实际文件,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
/*&cls
@echo off
rem 提取一个txt文本文件里指定特征的行及其下面的多行内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "input=a.txt"
set "output=b.txt"
set "str=>2"
type "%input%"|cscript -nologo -e:jscript "%~f0" "%str%"
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/

var fso=new ActiveXObject('Scripting.FileSystemObject');
var list=WSH.Arguments(0).split('|');
var text=WSH.StdIn.ReadAll();
for(var i=0;i<list.length;i++){
    var kw=list[i].replace(/[\[\]\^\$\.\|\?\*\+\(\)\\\/]/g,'\\$&');
    var reg=new RegExp('(^|\\n)'+kw+'[\\s\\S]+?(?=\\n\\s*>|$)');
    var m=text.match(reg);
    if(m){
        WSH.echo(m[0].replace(/^[\n]*/,''));
    }
}
阳光的雷咩咩
2020-01-08 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7669万
展开全部
可以做到 但习惯用python或者c# 私信
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式