Lista de reproducción con batch


Les dejo un pequeño script para crear una lista de reproducción en batch.

Cada reproductor de audio tiene la opción de crear listas de reproducción en la cual se agregan archivos de música que se deseen tener agrupados. Sin embargo, cada uno tiene su propia extensión por lo que sólo es posible reproducir dichas listas en el reproductor específico de esa extensión.

Existe la extensión .m3u que es reconocida por la mayoría de los reproductores de audio y su creación es bastante simple, ya que sólo es necesario crear un archivo de texto en el cual se agreguen las rutas de cada archivo de música.

Un archivo por linea como en la siguiente imagen:

Si necesitas agregar demasiados archivos o hacer muchas listas de reproducción, esta seria una tarea bastante tediosa.

Para esto he creado un archivo batch (linea de comando de windows) con el cual esta tarea será más rápida y fácil.

Código detallado

Desactivo el echo para que no muestre el prompt

@echo off

Título que se verá en la ventana CMD

title Crea lista de reproduccion m3u

Retrasa la expansión de la variable

setlocal ENABLEDELAYEDEXPANSION

Especifica el directorio donde se encuentra y trabajará este batch

pushd %~dp0

Se solicita un nombre para la lista

set /p nlista=Ingrese el nombre de la lista:

Los siguientes set son las variables de cada letra acentuada y su respectivo símbolo en batch, ya que no guarda letras con tildes ni la letra ñ.

set noa=
set sia=á
set noe=‚
set sie=é
set noi=¡
set sii=í
set noo=¢
set sio=ó
set nou=£
set siu=ú
set non=¤
set sin=ñ

Por cada archivo agregado hará lo siguiente

for %%i in (%*) do (

Quitará las comillas dobles, cambiará cada símbolo a la letra que corresponde con su tilde y luego la enviará al archivo m3u con el nombre dado anteriormente en la variable nlista.

set a=%%~i&set a=!a:%non%=%sin%!&set a=!a:%noa%=%sia%!&set a=!a:%noe%=%sie%!&set a=!a:%noi%=%sii%!&set a=!a:%noo%=%sio%!&echo !a:%nou%=%siu%!>>”%nlista%.m3u” )

Cambia directorio actual al almacenado por pushd

popd

La forma de utilizar este archivo es arrastrando los archivos de música a él (sin abrirlo). Ejemplo en la siguiente imagen:

Si deseas crear el archivo a mano o usando copy/paste el código anterior, deberás guardarlo con extensión .cmd o .bat.

Para descargar el batch CLICK AQUI.

Buscando una solución para otro código, encontré el comando para cambiar el tipo de caracteres en CMD y logré hacer el código más corto.

@echo off
chcp 65001
title Crea lista de reproduccion m3u
pushd %~dp0
set /p nlista=Ingrese el nombre de la lista:
for %%i in (%*) do (
echo %%~i>>”%nlista%.m3u”
)
popd

Para descargar CLICK AQUI.