2013-07-16 86 views
3
@Echo Off 
    for /R directory %%F IN (*.js) DO ( 
     // delete the string 'Success' if written in the file ??? 
     echo %%~nF >> Output.txt 
     echo Success >> Output.txt 
    ) 

请参见第3行:如何在同一文件中删除字符串'Success'(如果找到)。如何删除或替换文本文件中的一行

第5行:它总是在文件末尾写入success

顺便说一句,我可以通过在文件中写入'成功'来实现同样的效果,但我有这样的场景,我必须应用这种逻辑。

+0

如果这有什么帮助,我可以帮你做到这一点在c#... –

+0

批处理是一个可怕的语言做到这一点。你可以自由选择不同的语言吗?至于第5行:如果你只在'Output.txt'结尾需要该消息,你必须将该行移出循环。 –

+1

@AnsgarWiechers由于处理多个文件,第5行更成为一个问题。在循环之外不是解决方案... – foxidrive

回答

1

你可以用findstr这个词来做到这一点。 尝试

findstr /v "Success" infile.txt > outfile.txt 

两件事情:

  • “> outfile.txt” 将结果发送到文件outfile.txt而不是将它们打印到控制台。 (请注意,如果它存在,将覆盖该文件;如果要附加,请使用“>> outfile.txt”)。
  • 您也可以考虑添加/ i开关以进行不区分大小写的匹配。
相关问题