这个是一个 .bat文件
我想用 IO 把 每行 带 echo 的全删掉 只把 copy 和 pause 留住。
如何用IO 操作?
最主要的是 如何 改写文件 内容 这段IO echo 我要删掉sfdasfas12321
echo 我要删掉safdgsfdaecho 我要删掉adsfdsascopy Lujing 1 mubiaoPath
copy Ling1 mubiaoPathecho begindsfdadsfadsXXXXSSSS
echo DFASFDSFDSDSS!!!!echo SDASFA!!!!!!!echo XXXXXXXXXXXXXXXXXXXXXXXXX
pause
最终我要的文件结果
是
copy Lujing 1 mubiaoPath
copy Ling1 mubiaoPath
pause谢谢各位
我想用 IO 把 每行 带 echo 的全删掉 只把 copy 和 pause 留住。
如何用IO 操作?
最主要的是 如何 改写文件 内容 这段IO echo 我要删掉sfdasfas12321
echo 我要删掉safdgsfdaecho 我要删掉adsfdsascopy Lujing 1 mubiaoPath
copy Ling1 mubiaoPathecho begindsfdadsfadsXXXXSSSS
echo DFASFDSFDSDSS!!!!echo SDASFA!!!!!!!echo XXXXXXXXXXXXXXXXXXXXXXXXX
pause
最终我要的文件结果
是
copy Lujing 1 mubiaoPath
copy Ling1 mubiaoPath
pause谢谢各位
打开写入文件的流
while (读取一行)
{
if (echo开始)
continue;
写入这行
}
{
StreamReader sr = new StreamReader("c:\\1.bat");
StreamWriter sw = File.CreateText("c:\\2.bat");
while (!sr.EndOfStream)
{
string tmp = sr.ReadLine();
if (tmp.Length > 0 && !tmp.Trim().ToLower().StartsWith("echo"))
{
sw.WriteLine(tmp);
}
}
sr.Close();
sw.Close();
}
再利用Replace方法去掉echo
string str=str.Replace("echo", "");
for(int i=0;i<lst.Count;i++)
{
lst[i]=lst[i].Replace("echo","");
}
File.WriteAllLines
StreamWriter sw = new StreamWriter(@"文件", true,System.Text.Encoding.Default);
while (sr.Peek() > -1)
{
s=sr.ReadLine();
sw.Write(s.artsWith("echo")?s.Replace("",""):s);
sw.Flush();
}
StreamReader sr1 = File.OpenText(path1 + @"\AutoBuild.bat");
string bat = string.Empty;
while (!sr1.EndOfStream)
{
string tempstr = sr1.ReadLine();
if (tempstr.Length > 0 && !tempstr.Trim().ToLower().StartsWith("echo"))
{
bat += tempstr+"\r\n";
}
}
string sps = bat.Replace("copy .", "copy " + path1);