1

Мне нужно удалить файлы, в которых есть строка ST * 823.

Это не похоже на работу:

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

Я не думаю, что ему нравится *, поскольку, если я просто скажу ST, то это сработает.

1 ответ1

1

FINDSTR будет интерпретировать строку поиска как регулярное выражение, если она содержит неэкранированный метасимвол регулярного выражения (* в вашем случае). Параметр /L заставит его использовать интерпретацию буквальной строки.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .