Удалить файлы, содержащие определенную строку

Удалить файлы, содержащие определенную строку

Мне нужно удалить файлы, содержащие строку 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"

Связанный контент