Experimente esta abordagem rápida e sem recursos e veja se funciona para você (para mim, mas não testei em sistemas com players padrão diferentes):
@echo off
setlocal enabledelayedexpansion
REM Get ProgID associated with AVIs
for /f "tokens=3" %%a in ('reg query HKCR\.avi /ve ^| find "REG_SZ"') do set progID=%%a
REM Get open command for that ProgID
for /f "tokens=2*" %%a in ('reg query HKCR\%progID%\shell\open\command /ve ^| find "REG_SZ"') do set progNM=%%b
REM Now we should hopefully have "drive:\full\path\to\player.exe" "%1", so let's chop off the last 5 chars
set progNM=%progNM:~0,-5%
REM Expand wildcards and append filenames after program name
for %%a in (%1) do set progNM=!progNM! "%%~a"
REM Run the program with all the files and hope it won't result in N separate instances bogging down the system!
%progNM%
Salve-o como Play.bat por exemplo e chame-o usando play *.mkv
ou similar.
O código tenta localizar o programa associado a AVIs, assume que é o reprodutor de vídeo em uso para todos os formatos de vídeo, expande algo como * .mkv para "File1.mkv File2.mkv ..." e passa todos para o arquivo programa. Tenha em mente que, se houver muitos arquivos, o comprimento máximo da linha de comando será excedido (acho que ainda é 8192 chars ), mas esperamos que, nesse caso, o programa ainda seja iniciado com tantos nomes de arquivos completos quanto possível.