В указанной директории найти файлы с помощью батника по словам в файле и удалить их. Слова не в названии а внутри файла

Например: у нас есть 3 текстовых файла: 1 - qwerty 2 - qwqwqw 3 - asdfqwerty. Они находятся в одной папке. А нам нужно удалить те файлы, в которых есть слово "qwerty", получается, удаляем 1 и 3. Сам пытался написать батник, который находит совпадения командой findstr вместе с for, который показывает, сколько файлов содержится, но получилось очень криво и постоянно выдает ошибки... Вот сам код: (сами файлы я назвал 1.txt и т.д, чтобы было легче) (sum - это сумма всех файлов, сод. в папке)

'''

    @echo off
    set sum = 0 
    for %%i in (*) do (sum+=1 
    if findstr /C:"qwerty" "sum".txt=="qwerty" (del "sum".txt) )   
    Pause

'''


Ответы (1 шт):

Автор решения: Akina

Удалить файл с фрагментом в имени:

@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%x in ('dir /b') do (
    set x=%%x
    if not !x!==!x:qwerty=! del !x!
)

Удалить файл с фрагментом в содержимом:

@echo off
for /f %%x in ('dir /b *.txt') do (
    find "qwerty" %%x > nul
    if not errorlevel 1 del %%x
)
→ Ссылка