不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
/*&cls
@echo off
rem 在含有指定字符串/关键字的行下面插入一行内容
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "txtfile=1.txt"
if not exist "%txtfile%" (echo;"%txtfile%" not found&pause&exit)
type "%txtfile%"|cscript -nologo -e:jscript "%~f0" "G41" "G42" "ppp"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
while(!WSH.StdIn.AtEndOfStream){
var f=false;var s=WSH.StdIn.ReadLine();var len=WSH.Arguments.length;
for(var i=1;i<=len-1;i++){if(s.indexOf(WSH.Arguments(i-1))>-1){f=true;break;}};
WSH.echo(f?s+'\r\n'+WSH.Arguments(len-1):s);}
首先,先以行为单位读一下文件
string[]h=File.ReadAllLines(@"d:/1.txt");
再筛选G42 G41
for(int n=0;n
if(h[n].Contains("G41")||h[n].Contains("G42"))h[n]+="\r\nppp";
}
接下来就是输出
File.WriteAllLines(地址,h);
地址也是string @"d:/2.txt"
要不我给您重新写一个合并的代码,这样可以在合并的时候就直接正常换行了。
不过我需要了解您合并的一些要求
你看看能不能换个代码或者是拼一个往后你在先用一下能不能直接换出来?