2017-03-17 105 views
0

在一個文本文件中的行我要尋找一個批處理命令,可以在一個文本文件中刪除一行刪除通過批量

John Doe has joined chat 
Bob has joined chat 
John Doe has left chat 

而是有它這樣的,這將是這樣的:

之前:

John Doe has joined chat 
Bob has joined chat 

後:

Bob has joined chat 
John Doe has left chat 

它將刪除「John Doe已加入聊天」部分,並且只有留言。這將清理文本文件並防止它變得太大。它可能是這樣的:

remline if include %USERNAME% 
echo %USERNAME% has left chat >> users.dat 

但是「remline」並不是一個命令,據我所知。

任何幫助,將不勝感激。

回答

0
findstr /v /b /L /c:"%username% " users.dat>tempfile.dat 
move /y tempfile.dat users.dat >nul 

應該根據需要刪除該行。 findstr發現所有行/v不在線/b在行首/L字面上/c:"..."包含此字符串。

請注意,要消除的字符串,我故意添加了一個空格。這意味着如果您有用戶FredFred Two,則刪除Fred將不會影響Fred Two記錄。