更改 FAT 文件系统上的文件创建时间

Art*_*ct2 9 filesystems stat fat files

我需要一种方法来更改已挂载的 FAT32 卷上文件的创建时间。我必须这样做,因为我的 MP3 播放器只会读取按此创建时间排序的文件。

如果我能找到一种方法来设置文件的文件创建时间(就像touch修改/访问时间一样),一个简单的脚本将允许以正确的顺序(如预期的,按字母顺序)读取 MP3 文件。

但是我还没有找到解决方案,我的搜索也没有白费。我希望你们能帮助我!

Mr *_*unz 6

首先想到的是mv将文件改为cp临时文件,将临时文件改为旧文件名并删除临时文件。

我刚刚做了一个快速检查:

touch foo
ls -l foo
Run Code Online (Sandbox Code Playgroud)

返回:

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 foo
Run Code Online (Sandbox Code Playgroud)

等待几分钟,然后:

mv foo bar
ls -l bar

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 bar
Run Code Online (Sandbox Code Playgroud)

注意创建时间没有被修改,而:

cp bar foo
ls -l foo bar

0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:07 bar
0 -rw-r--r-- 1 shunz shunz 0 2011-03-22 11:10 foo
Run Code Online (Sandbox Code Playgroud)

现在 foo 是在当前时间创建的!

编辑

抱歉,忘了提,在 Ubuntu 下的 FAT32 格式的 U 盘上尝试过这个。


Art*_*ct2 5

我最终使用了fatsort,它很好地完成了这项工作,而且它也比一遍又一遍地复制文件快得多。