如何为支持多种文件格式的多个目录自动创建`.m3u`(或其他播放列表文件)?

如何为支持多种文件格式的多个目录自动创建`.m3u`(或其他播放列表文件)?

我想.m3u自动为目录内的每个文件夹创建一个(播放列表)文件,并将其保存在该特定文件夹内并以该特定文件夹的名称保存?

如何使用命令创建.m3u 文件?

 playlist='play.m3u' ; if [ -f $playlist ]; then rm $playlist ; fi ; for f in *.mp3|; do echo "$(pwd)/$f" >> "$playlist"; done

此命令针对单个目录的“.mp3”文件执行此操作。

来源

多种文件格式

我希望上述命令适用于任何音频/视频格式。扩展名类似,.m4a .flac .mp4 .mkbv以便它也可以用于视频播放列表

多个目录

多个目录

如果我在这些文件夹的父文件夹上应用脚本,则每个文件夹都应该获得自己的.m3u文件

鹦鹉螺脚本

如果可能的话,Nautilus 脚本可以通过右键单击完成所有这些操作,这将是惊人的,我准备提供更多输出或任何其他所需的内容

优点

  1. 良好的文件管理
  2. 它会自动在 Rythmbox(或其他音乐播放器)中添加带有专辑名称的播放列表
  3. 一旦完成,就不需要逐个文件夹播放文件了

答案1

find -type f -iname "*.mp3" -or -iname "*.flac" -or -iname "*.m4a" > playlist.m3u

另一个想法是您可以使用 bash 循环并使用以下命令检查 mime 类型file

echo "" > playlist.m3u

for path in $(find -type f) do;
   if [ file --mime-type "$path" | egrep '(audio|video)' ]; then
      echo "$path" >> playlist.m3u
   fi
done

答案2

在做这个领域的研究时,我发现了这一点Bash 脚本为子目录中的所有 mp3 创建 .m3u 播放列表文件由...制作斯卡森

这满足了您的最基本要求:多种文件格式和多种目录。

相关内容