Batch
批處理文件,逐行刪除
我有這個:
set myvar = ^J | FIND /N /I "texttolookfor" %WINDIR%\system32\drivers\etc\hosts
現在我有了它對文本進行罰款的行如何從文件中刪除這些行?
我知道我可以越界
FOR
但刪除部分對我來說仍然很棘手我讀過
findstr
,它應該更好,但也找不到任何可以刪除的東西現在我讀到了
FIND /V "texttolookfor" %WINDIR%\system32\drivers\etc\hosts > newfile
它將文件保存到沒有找到字元串的新文件中……但添加
“——————–%WINDIR%\system32\drivers\etc\hosts”
一開始但當我嘗試
FIND /V "texttolookfor" %WINDIR%\system32\drivers\etc\hosts > %WINDIR%\system32\drivers\etc\hosts
這沒用…
你的命令:
FIND /V "texttolookfor" %WINDIR%\system32\drivers\etc\hosts > newfile
添加
------------------%WINDIR%\system32\drivers\etc\hosts
到文件頂部,因為這是FIND
. 在沒有重定向的情況下嘗試一下,看看。FIND /V "texttolookfor" %WINDIR%\system32\drivers\etc\hosts ---------- C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. ...
TYPE
可用於 cat 文件,通過FIND
重定向其輸出,並且不應顯示文件/路徑:TYPE %WINDIR%\system32\drivers\etc\hosts | FIND /V "texttolookfor"
當然,這也可以重定向到一個新文件:
TYPE %WINDIR%\system32\drivers\etc\hosts | FIND /V "texttolookfor" > newfile