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

处理的文本如下:
1132212422
1132214242
1312212422
1312214242
1332212422
1332214242
3112212422
3112214242
3132212422
3132214242
3312212422
3312214242
2213212412
2213214232
2231212412
2231214232
2123212412
将以上含有“4242”“3322”“1212”“1122”多个字符串/关键字整行删除,不留空行,并生成新文本,其它行留下,求各位大虾帮个忙!

第1个回答  2019-12-26
不清楚你的实际文件,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为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);}
}

追问

运行程序后,提示“系统找不到指定的文件”。程序已经与处理文本放在同一文件夹里。

追答

按运行后窗口中的提示联系我

追问

大虾验证通过一下!

来自:求助得到的回答本回答被网友采纳
第1个回答  2019-12-26
@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追问

同时删除多个关键字呢?

相似回答