Em seu código de teste, não vejo "%% a" (o nome do arquivo a ser usado) na chamada do MediaInfo e também não vejo "%" escaped ("%%") nos parâmetros do MediaInfo ( sem porcentagem de escape, o MediaInfo recebe strings vazias devido a "%" convertido pelo processador em lote).
Eu fiz o que você tenta fazer com sucesso:
>dir test
06/09/2017 14:02 2 869 248 MOV001 - Copy.MOD
06/09/2017 14:02 2 869 248 MOV001.MOD
>more a.bat
@echo off
for %%f in (%*) do (
MediaInfo.exe "--Output=General;%%FileName%%, %%Format%%" "%%f"
)
>MediaInfo.exe "--Output=General;%FileName%, %Format%\r\n" test\*
MOV001 - Copy, MPEG-PS
MOV001, MPEG-PS
a.bat test\*.*
MOV001 - Copy, MPEG-PS
MOV001, MPEG-PS