2013-07-16 85 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開關以進行不區分大小寫的匹配。
相關問題