对文件系统上的文件进行排序

Rob*_*inJ 3 nautilus files clipboard directory mp3-player

我的 MP3 播放器按照文件在文件系统中的顺序播放文件。现在似乎 Nautilus 以某种随机顺序复制文件,所以在听有声读物或其他东西时,我会以随机顺序获取所有章节,当你骑自行车时就不那么好了,所以你不能带你的 MP3 播放器从你的口袋里找到合适的。使用mc(Midnight Commander) 时,大多数文件都是按字母顺序复制的,这就是我希望它发生的方式。

那么有没有...

  • 有什么方法可以告诉 Nautilus 按字母顺序复制文件和文件夹?
  • 一个程序可以直接在文件系统上按字母顺序对文件和文件夹进行排序?

附加信息:

Adr*_*ian 6

用 enzotib 美化答案;这些播放器按照它们在文件分配表(FAT,在 FAT)中找到的顺序播放文件。

因此,FATSort 是该问题的一种潜在解决方案。注意到的警告有两个原因;

  • 该工具在裸机级别编辑文件分配表
    • 它在目录表的范围内移动文件条目,因此损坏的文件系统将比以前更容易损坏
    • 只要文件系统通过fsck.vfat检查,你应该没问题。
  • 作者似乎觉得他没有投入足够的时间来确保他的代码安全
    • 您可能会创建一个(损坏的)文件分配表,导致 FATSort 应用程序中的缓冲区溢出或类似问题
    • 实际上,这不太可能 - 这是一个小众应用程序,攻击者在您的 MP3 播放器上放置特制文件系统的机会是有限的,如果他有这样的机会,他会去的目标要软得多第一次之后
    • 同样,如果您的文件系统通过fsck.vfat(或 Windows 中的磁盘检查),您应该没问题 - 这是作者的免责声明

palimpsest / 磁盘实用程序具有从 GUI 进行磁盘检查的选项。

可以在这里看到对 FAT 进行排序的其他程序:http : //www.murraymoffatt.com/software-problem-0010.html

替代解决方案;

按播放顺序复制文件

最简单和最明显的方法是按照您希望播放的顺序将文件复制到播放器。出于同样的原因,Nautilus 以明显不确定的顺序将文件复制到播放器文件系统 - 它倾向于按照 iNode 在磁盘上的排列顺序对文件进行操作。

如果您的曲目文件名以曲目编号开头,这是理想的。大多数命令行工具会按字典顺序对事物进行排序。正如您所注意到的,像 Midnight Commander 这样的工具也可以做到这一点。

# Find the files in the source     | copy them to the target folder
# Note we use the          -print0 |       -0   args because media file names
# commonly contain spaces

find /path/to/music/folder -print0 | xargs -0 cp -t /path/to/target/folder
Run Code Online (Sandbox Code Playgroud)

创建播放列表

一些播放器支持播放列表文件。我将脚本保存在我的 MP3 播放器文件系统中以支持生成这些播放列表。我的播放器是 iRiver 设备,它具有特定的二进制播放列表格式。如果您的播放器支持 .m3u 播放列表,则格式非常简单,仅由文本文件中的注释元数据和路径组成。我曾经在 Rhythmbox 中制作播放列表并将它们转换为 iRiver 格式;我还没有机会使用 Banshee 制作一个(我只为锻炼目的制作它们,而且我的锻炼非常可预测......)


enz*_*tib 5

您寻找的实用程序存在,并且是FATSort

它可以在fatsort软件包中的 Ubuntu 存储库中找到。