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