![根据文件夹名称更改文件夹结构(音乐收藏)(因为 Foobar2000 坏了)](https://linux22.com/image/1517737/%E6%A0%B9%E6%8D%AE%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%8D%E7%A7%B0%E6%9B%B4%E6%94%B9%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%93%E6%9E%84%EF%BC%88%E9%9F%B3%E4%B9%90%E6%94%B6%E8%97%8F%EF%BC%89%EF%BC%88%E5%9B%A0%E4%B8%BA%20Foobar2000%20%E5%9D%8F%E4%BA%86%EF%BC%89.png)
亲爱的超级用户社区,首先我要说的是,我的编程经验很少,所以如果我的问题看起来有点奇怪,我提前道歉。
最近我尝试重新组织我的音乐收藏文件夹。以前,所有专辑都收集在一个专用文件夹中,因此收藏的基本文件夹包含以下名称的文件夹:
BASE\'<Artist> - [<year>] <album title>'
我想改变集合的结构,以便文件可以按照“规则”存储在文件夹中
BASE\'<Artist>'\'[<year>] <album title>'
Foobar2000 成功地为大多数专辑创建了这些新文件夹,并将 mp3 移到那里。然而,不幸的是,程序在过程中崩溃了,旧文件夹仍然存在。这些旧文件夹仍然包含封面图片等。我现在每个专辑剩下两个文件夹:包含所有 mp3 的艺术家专辑子文件夹,以及包含封面图片的原始文件夹。
如果它没有崩溃,Foobar2000 就会移动全部内容添加到新的子文件夹中,并删除原始文件夹。我现在想知道我是否可以使用类似 shell 脚本(我一生中从未使用过)来完成这项工作?
我猜想脚本必须遍历所有文件BASE
夹
- 测试文件夹名称是否具有结构
'<Artist> - [<year>] <album title>'
- 例如,测试它是否包含中间部分' - '
- 测试文件夹是否
'<Artist>'\'[<year>] <album title>'
存在,如果存在,则将所有剩余内容移动到该文件夹 - 删除原始文件夹
'<Artist> - [<year>] <album title>'
这是 shell 脚本可以实现的吗?任何帮助或提示都将不胜感激。