![m3u播放列表删除目录](https://linux22.com/image/1436767/m3u%E6%92%AD%E6%94%BE%E5%88%97%E8%A1%A8%E5%88%A0%E9%99%A4%E7%9B%AE%E5%BD%95.png)
这是一个简单的问题,但我猜答案没有那么简单。
我正在将 m3u 播放列表从我的电脑移动到我的智能手机,因此我大量更改目录以适应(见下文),因为两个设备上的文件结构相同。
个人电脑: A:\DANIEL\My Music\Artists A - J\A\Avicii\Avicii - The Nights (歌词视频).mp3
电话: ..\我的音乐\艺术家 A - J\A\Avicii\Avicii - The Nights (歌词视频).mp3
我的新方法意味着所有文件都将放在我智能手机上的主音乐目录中,而不是使用我电脑的文件结构。因此,我的播放列表现在需要如下所示:
个人电脑: A:\DANIEL\My Music\Artists A - J\A\Avicii\Avicii - The Nights (歌词视频).mp3
电话: ..\我的音乐\Avicii - The Nights (歌词视频).mp3
在开头添加“..\My Music\”目录显然很容易,但当目录长度明显不同时,我该如何删除目录,只留下文件名。这个在“Music”文件夹下有 3 个文件夹,但有些可能有 4 个、5 个等。
我可以手动执行此操作,但是当我拥有多个播放列表,每个播放列表包含 300 多首歌曲时,我不喜欢这个想法。有人能想到批量执行此操作的方法吗?
我曾尝试将文本粘贴到 Excel 中并使用其“文本到列”功能,但我想不出如何使用此功能而不必像编辑原始文本一样访问每一行。
提前致谢,丹
答案1
在 Excel 上,将所有内容写在一列上,然后在第二列上粘贴此公式以获取所需内容:
=CONCATENATE("..\My Music\",TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",LEN(A1))),LEN(A1))))
答案2
我搜索并询问了这个问题,但都没有得到很好的结果,直到我不知怎么找到了这个 Superuser dot com 链接。太棒了。如果你不熟练使用 Excel,甚至上面的内容可能看起来令人生畏,或者无法立即为你工作。
下面是我之前和之后的示例,以及我使用的稍微修改过的 Excel 代码。
我的桌面媒体中心软件创建了一个 .m3u 播放列表。播放列表的内容是一个简单的 ANSI 文本可编辑数据集。请注意,它包括所有台式电脑驱动器和子文件夹。我为我的移动设备测试的一些软件播放器无法处理下面的文件结构。这就是上述 Excel 代码的要点。
J:\NTFS_1\MP3_D\Dan Fogelberg - River of Souls - 08 - A Love Like This.mp3
J:\NTFS_1\MP3_H\Harry Chapin - Verities & Balderdash - 04 - 30,000 Pounds Of Bananas.mp3
J:\NTFS_1\MP3_H\Harry Chapin - Story of a Life,唱片 2 - 04 - 30,000 磅香蕉 (现场).mp3
下面是我对上述 Excel 代码稍加修改后的输出:
\丹·佛格堡 - 灵魂之河 - 08 - 这样的爱.mp3
\Harry Chapin - Verities & Balderdash - 04 - 30,000 磅香蕉.mp3
\Harry Chapin - 人生故事,唱片 2 - 04 - 30,000 磅香蕉 (现场).mp3
在上述情况下,为了满足我的需求,甚至删除了默认的 \Music\ 文件夹。现在,有了此文件结构,我测试过的所有 4 个移动软件播放器都可以正常工作。
就我的情况而言,Excel 代码如下所示:
原始代码:
=CONCATENATE("..\My Music\",TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",LEN(A1))),LEN(A1))))
我的代码版本:
=CONCATENATE("\",TRIM(RIGHT(SUBSTITUTE(A3,"\",REPT(" ",LEN(A3))),LEN(A3))))
当然,在后端,您仍然需要复制第二个 Excel 列并将其粘贴到纯文本编辑器中,以保存结果。然后,您需要将文本文件从 重命名.txt
为.m3u
。
希望可以帮助你。