Buenos días a todos!
Para finalizar con este post, pudiendo darlo por resuelto anotaré aquí todo el código fuente. La idea de que con esa última formula que anotó EleKtro H@cker una de las playlist quedase perfecta me llevó a copiarla y cambiar el nombre también para las otras carpetas. Quizá haya una manera mas sencilla de programarlo todo, pero esta sin duda funciona a la perfección.
Un poco largo todo, no? Pero funciona perfectamente. De nuevo gracias a todos por ayudarme y un saludo!
Para finalizar con este post, pudiendo darlo por resuelto anotaré aquí todo el código fuente. La idea de que con esa última formula que anotó EleKtro H@cker una de las playlist quedase perfecta me llevó a copiarla y cambiar el nombre también para las otras carpetas. Quizá haya una manera mas sencilla de programarlo todo, pero esta sin duda funciona a la perfección.
Código [Seleccionar]
@Echo OFF
color 0c
Title Randomizador de listas de reproduccion M3U (by Elektro H@cker^)
PUSHD "C:\Guild Wars 2\Music"
Echo [ Procesando listas... ] | MORE
FOR /D %%@ IN (MAINMENU.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U MAINMENU"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo MainMenu\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (AMBIENT.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U AMBIENT"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo Ambient\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (BATTLE.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U BATTLE"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo BATTLE\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (BOSSBATTLE.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U BOSSBATTLE"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo BOSSBATTLE\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (CITY.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U CITY"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo CITY\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (CRAFTING.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U CRAFTING"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo CRAFTING\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (NIGHTTIME.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U NIGHTTIME"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo NIGHTTIME\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
FOR /D %%@ IN (UNDERWATER.M3U) DO (
Echo [+] %%~nx@
Echo #EXTM3U|MORE>"%Temp%\%%~n@.tmp"
Echo #EXTM3U|MORE>"%Temp%\%%~n@.m3u"
FOR /F "TOKENS=*" %%# IN ('TYPE "%%@" ^| FINDSTR /V /I "#EXTM3U UNDERWATER"') DO (
CALL ECHO %%Random%%%%Random%%%%Random%%;%%#>>"%Temp%\%%~n@.tmp")
For /F "Tokens=2* Delims=;" %%a in ('Type "%Temp%\%%~n@.tmp" ^| Sort') do (
Echo %%a>>"%Temp%\%%~n@.m3u"
For /F "Tokens=2* Delims=," %%A in ('echo %%a') do (Echo UNDERWATER\%%A|MORE>>"%Temp%\%%~n@.m3u"))
(Move /Y "%Temp%\%%~n@.m3u" "%%@" >NUL && (Echo OK!) || (Echo ERROR... & Pause)) | MORE
)
call "C:\Guild Wars 2\Gw2.exe"
exit
Un poco largo todo, no? Pero funciona perfectamente. De nuevo gracias a todos por ayudarme y un saludo!