Eu usaria o comando for
:
for /f "delims=|" %%f in ('dir /b *.mts') do (ffmpeg -i "%%f" -start_number 0 -vf fps=1/30 "B 00-%02d-30.000.png")
Eu não verifiquei a sintaxe do seu comando ffmpeg, mas isso deve funcionar a partir de um arquivo em lotes quando ele é executado com o diretório de trabalho sendo o caminho da sua pasta. Caso contrário, você pode alterar o dir /b *.mts
para algo como dir /b C:\FolderWithFiles\*.mts
ou usar o %~dp0
para que ele use o caminho em que seu arquivo de lote reside.
EDIT: Além disso, observe que, se você estiver tentando testar o comando fora de um arquivo em lote e diretamente do prompt de comando, será necessário alterar o %%f
's para ser %f
.