windows批处理.bat自动.m3u播放列表创建/更新

windows批处理.bat自动.m3u播放列表创建/更新,windows,batch-file,cmd,playlist,m3u,Windows,Batch File,Cmd,Playlist,M3u,厌倦了每次在电脑和/或智能手机上添加新文件时手动更新巨大的mp3/mp4 DB, 因此,我正在寻找一些帮助来创建一个批处理文件,自动创建/更新我的所有playlists.m3u 需要2个批处理文件(第一个批处理文件调用第二个批处理文件): 第一个很简单,我几乎就搞定了;-) 创建_all_playlist.bat(无需参数,自定义文件) 很简单吧 我需要你的帮助来写第二个。蝙蝠,动态的一个: 创建_m3u.bat输出-playlist-name.m3u文件夹-1文件夹-2[…]文件夹-n 为

厌倦了每次在电脑和/或智能手机上添加新文件时手动更新巨大的mp3/mp4 DB, 因此,我正在寻找一些帮助来创建一个批处理文件,自动创建/更新我的所有playlists.m3u

需要2个批处理文件(第一个批处理文件调用第二个批处理文件):


第一个很简单,我几乎就搞定了;-)

创建_all_playlist.bat(无需参数,自定义文件)

很简单吧


我需要你的帮助来写第二个。蝙蝠,动态的一个:

创建_m3u.bat输出-playlist-name.m3u文件夹-1文件夹-2[…]文件夹-n

为了便于播放,输出文件.m3u应如下所示(注意,所有文件都是相对路径,搜索*.mp3*.mp4*.ogg(任何类型的i剪切/硬代码)都将递归到指定的文件夹中)

(与大多数android和PC播放器兼容的原始.m3u)


在最好的情况下,仅在最好的情况下,假设有人足够熟练,能够按照以下方式制作完整的mp3/mp4标签读取和格式化

#EXTM3U
#EXTINF:227,A-Ha - Take On Me
misc\80s\A-Ha - Take On Me.mp3
#EXTINF:257,ACDC - Back in Black
misc\80s\ACDC - Back in Black.mp3
#EXTINF:311,Aerosmith & Run Dmc - Walk This Way
misc\80s\Aerosmith & Run Dmc - Walk This Way.mp3
[...]
#EXTINF:289,Alannah Myles - Black Velvet
misc\80s\Alannah Myles - Black Velvet.mp3

谢谢

对于未经加工的m3u,我请客啤酒:-)

对于延长的完整m3u:啤酒和我将煮鸭马格里特;-)

@ECHO关闭
SETLOCAL
::制作一个临时文件
:maketemp
设置“tempfile=%temp%\%random%”
如果存在“%tempfile%*”(转到maketemp)ELSE(ECHO.>%tempfile%a)
::需要扫描树的开头
设置“rootdir=c:\sourcedir”
>“%tempfile%b”(回显(%rootdir%)和回显(*)
对于('FINDSTR/o/L“*”“%tempfile%b“')中的/f“delims=:”%%a,请设置/a len=%%a-1
设置“destfile=%~1”
:循环
移位
设置nextdir=%~1
如果未定义下一个TDIR转到进程
PUSHD“%rootdir%\%~1”
对于/f“delims=”('dir/b/s/a-d*.mp3*.mp4*.ogg')中的%%a,执行>>%tempfile%a”回显(%%~na:%%%a)
流行音乐
转到环路
:进程
>%目标文件%ECHO(#EXTM3U
(
对于/f“tokens=1*delims=:”%%a IN('SORT”%tempfile%a“)DO(
回声(#熄灭:???,%%a
设置“位置=%%b”
SETLOCAL enabledelayedexpansion
回显(!位置:~%len%!
端部
)
)>>%目标文件%
删除“%tempfile%*”
后藤:EOF
我使用了
c:\sourcedir
作为起始目录。没有执行任何参数有效性检查。您需要从
create\u all\u playlist.bat
调用create\u m3u.bat,因为目标可执行文件是批处理文件

至于丢失的数据,最困难的部分是提取信息


编辑以允许文件名中出现
,并从路径中删除前导的
\


修订:允许绝对路径

@ECHO关闭
SETLOCAL
::制作一个临时文件
:maketemp
设置“tempfile=%temp%\%random%”
如果存在“%tempfile%*”(转到maketemp)ELSE(ECHO.>%tempfile%a)
::需要扫描树的开头
设置“rootdir=c:\sourcedir”
>“%tempfile%b”(回显(%rootdir%)和回显(*)
对于('FINDSTR/o/L“*”“%tempfile%b“')中的/f“delims=:”%%a,请设置/a len=%%a-1
设置“destfile=%~1”
:循环
移位
设置nextdir=%~1
如果未定义下一个TDIR转到进程
如果%nextdir:~0,1%=\(
PUSHD“%~1”
对于/f“delims=“%%a IN('dir/b/s/a-d*.mp3*.mp4*.ogg')DO>%tempfile%a”回显(%%~na:2:%%a
)否则(
PUSHD“%rootdir%\%~1”
对于/f“delims=”('dir/b/s/a-d*.mp3*.mp4*.ogg')中的%%a,请执行>>%tempfile%a”回显(%%~na:%len%:%%a
)
流行音乐
转到环路
:进程
>%目标文件%ECHO(#EXTM3U
(
对于/f“tokens=1,2*delims=:”%%a IN('SORT”%tempfile%a“)DO(
回声(#熄灭:???,%%a
设置“位置=%%c”
SETLOCAL enabledelayedexpansion
回显(!位置:~%%b!
端部
)
)>>%目标文件%
删除“%tempfile%*”
后藤:EOF

注意“包含空格的路径必须用引号括起来”

227/257/311与#exef标记的作用是什么?以秒为单位跟踪时间--[link]()您必须提供每个文件夹中所需内容的相关信息,例如
c:\misc
m3u
每个文件夹中的
m3u
文件以及文件中的每个
mp3
文件和
无其他文件类型
,并调用
MyMusic.m3u
。根据需要进行调整。不确定我们是否了解对方--foxidrive--我需要批处理递归地搜索指定的文件夹(作为参数传递),并查找*.mp3*.m4a*.ogg(任何文件类型)并生成1个且仅1个playlist.m3u作为指定参数。如果我不清楚,请告诉我。那么-如何提取运行时数据?伙计,你很狡猾!!你甚至添加了你喜欢的类型,告诉我是你瞎写的,我相信你可以在水上行走;-)--所以99.8%第一次通过就好了!--只需要调整一行:输出是
\misc\60s\The uu.mp3
,应该是
misc\60s\The u.mp3
--然后我在
文件名!.mp3
中遇到了
的问题:它可能会被解释为windows的信号/命令…但我最不担心的是,我可以从文件名中删除
非常罕见…对于音轨长度,如果我能找到一个cmd line lightweight exec,也许我会在之后插入它,但是音轨声明为0是可以的,谁在乎一首歌有多长呢?谢谢,谢谢,并感谢@Magoo,第二遍都很好!!!确认正在使用win7 cmd,用于win winamp和stock android player。现在,我该如何/在哪里放置full.zip source&一个小型的read me,供其他寻求相同自动化的用户阅读?网络上是否有一个windows批处理存储库,用于存储有用的脚本?如果您想在脚本上添加您的贡献者名称…欢迎!至于啤酒和鸭子,这不是一个玩笑,如果您碰巧是法国尼斯附近的邻居,请随意!最后一次突尼斯ng…我有这个输出(绝对路径)
\0-smartphone\SD card\0-music\misc AAC\1980年代\A-Ha-对付我。m4a
和播放器(手机和PC处于同步镜像中,这就是为什么)更喜欢(相对路径)
misc AAC\1980年代\A-Ha-对付我。m4a
我不知道如何调整……请帮帮@Magoo!!
misc\2000s\Kelly Rowland - Work (Freemasons Arabic Mix).mp3
misc\2000s\Keri Hilson - Knock You Down ft Kanye West and Ne-Yo.mp3
misc\2000s\Kid Cudi vs Crookers - Day n Nite.mp3
misc\2000s\Korn - Inja.mp3
[...]
misc\2000s\Ladyhawke - My Delirium.mp3
#EXTM3U
#EXTINF:227,A-Ha - Take On Me
misc\80s\A-Ha - Take On Me.mp3
#EXTINF:257,ACDC - Back in Black
misc\80s\ACDC - Back in Black.mp3
#EXTINF:311,Aerosmith & Run Dmc - Walk This Way
misc\80s\Aerosmith & Run Dmc - Walk This Way.mp3
[...]
#EXTINF:289,Alannah Myles - Black Velvet
misc\80s\Alannah Myles - Black Velvet.mp3