Я пробовал еще такой вариант
Код:

@echo off
for /f "delims=" %%a in ('dir /a-d /b /s "E:\MIX\MPL\*.alb"') do (
setlocal enabledelayedexpansion
for /f "usebackq tokens=1,2*" %%i in ("%%a") do (
set $%%j$!random!=%%i %%j %%k
)
for /f "tokens=1,2 delims=$=" %%i in ('set $') do (
if not "%%i"=="!x!" (
set /a m+=1
set x=%%i
)
set !m!$!random!=!$%%i$%%j!
)
for /l %%i in (1 1 %m%) do (
set $random=!random!
for /f "delims==" %%j in ('set %%i$') do (
set !$random!$$!random!=!%%j!
)
for /f "delims==" %%j in ('set !$random!$$') do (
set /a n+=1
set $$!n!$!random!=!%%j!
)
set n=
)
>"%%a" (
for /f "tokens=2 delims==" %%i in ('set $$') do (
echo %%i
)
)
)
exit /b
Он обрабатывает все плейлисты по очереди, но оставляет их пустыми. Переменная $$ не определена.
