@ECHO OFF
REM
REM ( )
setlocal enabledelayedexpansion
REM
set ftypes=*.AVI *.ASF *.DAT *.DIVX *.M*V *.MP4 *.MPE *.MP*G *.OGM *.VOB *.WM*
REM
set TFILE=
REM
set TDIR=%cd%
set EXTLIST=0
REM
if NOT ~%1~==~~ set TDIR=%1
REM
REM ( - )
if /i ~%2~==~/file~ set TFILE=%3& shift 2& shift 2
if ~%TFILE%~==~~ set TFILE=%cd%\_vnew.lap
REM ( )
if '%2'=='' set FT=%ftypes%
echo %TDIR% %FT% %TFILE%. Ctrl+C
rem pause
REM
del %TFILE% >nul
REM Windows
chcp 1251
REM ( ),
REM
if ~%2~==~~ goto nexttype
REM ,
set EXTLIST=1
REM ( ) ,
REM -
:np
rem echo --%2-- & pause
if not ~%2~==~~ set FN=%2& shift 2& goto formlist
goto end
REM ""
:nexttype
for /F "tokens=1*" %%F in ("%FT%") do set FN=%%F & set FT=%%G
REM
:formlist
REM
for %%N in (!TDIR!) do set TDIR=%%~N
for %%N in (!FN!) do set FN=%%~N
REM "dir /ad /s /b +"
REM
rem dir /ad /s /b "!TDIR!\!FN!" >>%TFILE%
REM , , .
FOR /F "usebackq DELIMS=*" %%X IN (`dir /ad /s /b "!TDIR!\!FN!"`) DO echo %%X >>%TFILE%
REM , , "",
REM , GOM-
REM FOR /F "usebackq DELIMS=*" %%X IN (`dir /ad /s /b "!TDIR!\!FN!"`) DO echo ^<entry^>^<title^>%%X^</title^>^/^>^</entry^> >>%TFILE%
REM ,
if %EXTLIST%==1 goto np
if not "%FT%"=="" goto nexttype
REM ( )
REM
:end
rem sort %TFILE% /O %TFILE%
chcp 866
if exist %TFILE% start %TFILE%
_vnew.bat M:\Media\Mult\New
_vnew.bat "E:\Video\Mult\Ussr\" /file=e:\video\rr.lap new1 zerkalce.avi " .avi"
_vnew.bat "E:\Video\Mult\Ussr\" /file=e:\video\rr.lap *.avi
Source: https://habr.com/ru/post/76828/