2

我最近不小心格式化了一个 2TB 硬盘驱动器 mac os jouned!我能够使用 Data Rescue 3 恢复文件,唯一的问题是程序没有按原样给我文件、根树和名称。

例如我有

|-Music
||-Enya
|||-Sonadora.mp3
|||-Now we are free.mp3
|-Documents
||-CV.doc
||-LetterToSomeone.doc
...and so on

现在我得到了

|-MP3
||-M0001.mp3
||-M0002.mp3
|-DOCUMENTS
||-D0001.doc
||-D0002.doc

因此,对于大量数据,我需要几个世纪才能手动打开,看看它是什么并重命名。

是否有一些批次可以扫描我所有的子文件夹并使用以前的名称?也许通过元数据?

或者你知道一个更好的工具可以保持相同的文件名和路径(不管是否必须付费,总有一个解决方案:P)

谢谢

4

1 回答 1

4

至少我对你音乐的贡献...

这个想法是检查所有找到的 MP3 文件,并根据它们的 ID3 标签分发它们。

我会做类似的事情:

for i in `find /MP3 -type f -iname "*.mp3"`;
do
   ARTIST=`id3v2 -l $i | grep TPE1 | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets you the Artist
   ALBUM=`id3v2 -l $i | grep TALB | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets you the Album title
   TRACK_NUM=`id3v2 -l $i | grep TRCK | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets the track ID/position, like "2/13"
   TR_TITLE=`id3v2 -l $i | grep TIT2 | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # Track title
   mkdir -p /MUSIC/$ARTIST/$ALBUM/;
   cp $i /MUSIC/$ARTIST/$ALBUM/$TRACK_NUM.$TR_TITLE.mp3
done

基本上: * 它在 /MP3 中查找所有“.mp3”文件 * 然后分析每个文件的 ID3 标签,并使用“id3v2”工具解析它们以填充 4 个变量(您需要先安装它)。清理标签以仅获取值,sed 用于修剪可能污染的前导空格。* 然后(如果需要)在 /MUSIC/ 中创建一个带有艺术家姓名和专辑名称的树 * 然后将输入文件复制到新树中,并通过标签重命名它。

于 2013-07-29T14:17:02.843 回答