特定の文字列を含むファイルを削除する

特定の文字列を含むファイルを削除する

文字列 ST*823 が含まれるファイルを削除する必要があります。

これは機能しないようです:

for /f "eol=: delims=" %%F in ('findstr /m ST*823 *.txt') do del "%%F"

単に ST と言えば機能するので、* は気に入らないと思います。

答え1

FINDSTR は、検索文字列にエスケープされていない正規表現メタ文字 (この*場合は ) が含まれている場合、その検索文字列を正規表現として解釈します。この/Lオプションにより、リテラル文字列の解釈が強制されます。

for /f "eol=: delims=" %%F in ('findstr /ml "ST*823" *.txt') do del "%%F"

関連情報