Buena noche… reaperturo el tema con una pregunta e inquietud si se me permite
Este código proporcionado es una de las aportaciones más fantásticas que me he encontrado en mi vida de internauta… por lo cual dia a día es una de mis herramientas de trabajo… durante los años de uso he notado 3 problemas o bugs o la verdad no sé cómo llamarles y para ir al grano proporcionare primero las variantes que le he añadido…
@Echo OFF & chcp 1252 >NUL & Setlocal enabledelayedexpansion
REM Title %~n0 & Mode con cols=50 lines=3
Set /A "MAX=10"
Set "TMP_Playlist=%Temp%\Playlist.tmp"
Set "Playlist=%Temp%\Playlist.m3u8"
:List
(
For /F "Tokens=*" %%$ in (
'Dir /B /S "%~dp0" ^| Findstr /I /R "\.avi$ \.mkv$"'
) DO (
Echo !Random!!Random!!Random!;%%$
)
)>"%TMP_Playlist%"
:Randomize
(
For /F "Tokens=2* Delims=;" %%$ in (
'Type "%TMP_Playlist%" ^| Sort '
) DO (
Set /A "Count+=1"
If !COUNT! LSS %MAX% (
Echo %%$
) ELSE (
Goto :Run
)
)
)>"%Playlist%"
:Run
if %PROCESSOR_ARCHITECTURE%==x86 (
Start /B "" "%PROGRAMFILES%\Winamp\winamp.exe" "%Playlist%" || (Exit /B 1)
) else (
Start /B "" "%PROGRAMFILES(X86)%\Winamp\winamp.exe" "%Playlist%" || (Exit /B 1)
)
Exit /B 0
El resultado es que me crea y reproduce un playlist en el amigo Winamp…
con la cantidad de 10 archivos en un playlist en Winamp, los cuales fueron definidos en la variable "MAX=10"
1. el primer problema o bug es que al encontrar un archivo con caracteres especiales digamos tildes, eñe, etc. Los añade pero no los reproduce haciendo que winamp se culgue al no saber interpretar el archivo
Ejemplo: "Líneas de la vida.avi" la muestra como "L�neas de la vida" dentro del playlist del reproductor y cuelga Winamp por que no lo puede reproducir
2. al ejecutarse en el código en forma de Batch crea la lista correctamente, generando un playlist de 10 archivos de video.
Después aunque añada manualmente al playlist, por alguna razón la reproducción se detiene en el archivo final… aunque después haya añadido un archivo o archivos, no entiendo por qué pero lo hace.
3. Y como el archivo batch lo uso por lo general en carpetas con determinada colección de archivos y ya lo había mencionado
El RANDOM siempre elige el mismo juego de archivos
Suponiendo que tengo 10 archivos de video en una carpeta y el código crea un playlist con 5 archivos RAMDOM siempre elige los mismos 5 solo que los aplica aleatoriamente aunque tenga 10 la carpeta siempre elige los mismos 5 y les aplica RAMDOM o sea no se ejecuta en los archivos restantes…
La verdad me gustaría mucho entender la lógica del lenguaje para poder hacer mis propias deducciones, pero mejor solicito ayuda para poder corregirlo.
De antemano Gracias…