批处理删除文本中多个字符串所在的行?

处理的文本如下:11322124221132214242131221242213122142421332212422133221424231122124223112214... 处理的文本如下:
1132212422
1132214242
1312212422
1312214242
1332212422
1332214242
3112212422
3112214242
3132212422
3132214242
3312212422
3312214242
2213212412
2213214232
2231212412
2231214232
2123212412
将以上含有“4242”“3322”“1212”“1122”多个字符串/关键字整行删除,不留空行,并生成新文本,其它行留下,求各位大虾帮个忙!
展开
 我来答
qop_dob
2019-12-26 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3992万
展开全部
不清楚你的实际文件,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
/*&cls
@echo off
rem 删除一个txt文本文件里含有指定字符串/关键词的行
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "txtfile=xxx.txt"
type "%txtfile%"|cscript -nologo -e:jscript "%~f0">"t.t"
move /y "t.t" "%txtfile%"
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/

var keywords=['4242','3322','1212','1122'];
while(!WSH.StdIn.AtEndOfStream){
    var line=WSH.StdIn.ReadLine(),f=true;
    for(var i=0;i<keywords.length;i++){
        if(line.indexOf(keywords[i])>-1){f=false;break;}
    }
    if(f){WSH.echo(line);}
}
更多追问追答
追问
运行程序后,提示“系统找不到指定的文件”。程序已经与处理文本放在同一文件夹里。
追答
按运行后窗口中的提示联系我
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草原上之狼
高粉答主

2019-12-26 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4050万
展开全部
@echo offset #=q&set/azx=0x53b7e0b4title Any question +%#%%#% %zx%cd /d "%~dp0"type "a.txt"|find /v "0 0 0 0 0 0 0 0 0%%">"b.txt"echo;Any question +%#%%#% %zx%pause
追问
同时删除多个关键字呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式