所以我有一个充满不同文件格式的音乐文件夹,它们混合在一起。它结构良好:音乐/[艺术家姓名]/[专辑名称],合辑位于名为“Various”的文件夹中。有些文件夹仅包含 .mp3、.m4a 或 .flac 文件,有些文件夹包含不同文件格式的专辑的多个版本。当然还有各种 .jpeg 的封面艺术,许多艺术家文件夹包含艺术家肖像的 .jpeg,还有许多杂项 .cue 和 .log 文件和其他垃圾。
我想要结束的是 .flac 文件的单独音乐文件夹,保留现有文件夹结构,将它们从现有库中删除。我也不想在我当前的库中得到空文件夹,因为专辑只是在 flac 中。在具有多种格式的专辑文件夹的情况下,我想将flacs与封面一起移动到新库中,但当然也要保留现有的封面。
我还没有找到能够处理这个问题的应用程序,但我认为一个 shell 脚本可能可以处理它。但是我对 bash 很可怜,真的不想破坏我的图书馆。
这些文件位于我可以使用 mac、windows 或 linux 访问的远程磁盘上,因此任何方法都很好。
为了完全澄清,这是我希望编码的逻辑:
查找包含 .flac 文件的 /Music 的每个子目录
将这些目录中的每一个(和中间父目录)全部复制到 /FLAC 中的新位置,但从副本中排除其他音频文件类型(.mp3、.m4a 等)。
如果该目录除了 .flac 之外没有其他音频文件类型,请删除整个目录。如果它确实有其他音频文件,只需删除 .flac 文件。
对所有 /Music 进行最后一次扫描,以删除任何本身不包含音频文件的目录或任何子目录。