Ваш код нуждается в нескольких исправлениях.  Оператор канала должен быть экранирован символом пакетного перехода ^ и при использовании кавычек в скобках для команды должна быть указана опция usebackq .
for /?
Пакетный формат:
for /f "usebackq" %%i in (`dir /s /b ^| find "lock"`) do echo %%i
Формат командной строки:
for /f "usebackq" %i in (`dir /s /b ^| find "lock"`) do echo %i
Замените echo на del и любой из его параметров, когда вы хотите, чтобы он действительно удалил файлы. Обратите внимание, что двойные знаки процента необходимы при использовании в файле bat, одиночные при использовании непосредственно в командной строке.
Другой способ - использовать команду forfiles . forfiles /?
forfiles /m *lock* /s /c "cmd /c echo @file"
Обратите внимание, что оба эти метода также удаляют любые папки, содержащие lock поискового запроса.  Для предотвращения этого потребуются дополнительные шаги.