vários ^| pipe dentro do loop for (arquivo em lote)

vários ^| pipe dentro do loop for (arquivo em lote)

É possível ter vários comandos de pipe dentro de um loop?

:: ------file(filter.txt) with contents which should be filtered---------
.mp3
.mp4
.wav
.jpg
.png
:: --------------------------------------------------------------

Gostaria de filtrar todos os arquivos que contêm as strings em filter.txt como:

dir /a:-d /b | find /v ".mp3" | find /v ".mp4" | find /v ".wav" | find /v ".jpg" | find /v ".png"

A questão é que minha entrada tem muito mais do que mostrado neste exemplo. Quero ter isso em um loop for, mas não está funcionando para mim

for /f "tokens=* delims=;" %%a in (filter.txt) do (| find /v "%a)

informação relacionada