必须设置哪个属性才能更改文件复制时间

本文关键字:文件 复制 时间 设置 属性 | 更新日期: 2023-09-27 17:58:30

我有一个便携式音频播放器,根据手册in the order they are copied列出目录和文件(SD卡FAT32存储)。它确实是这样做的:当一次手动复制一个文件时,它将按照复制的顺序显示这些文件。现在,我已经使用Windows资源管理器和Unison组合复制了数百个文件,因此所有内容都以基本上随机的顺序显示。我希望所有的东西都按字母顺序列出,所以我写了一段我能想到的最简单的C#代码,它按字母顺序排列目录,对目录中的文件进行幂等处理,并使用Directory.SetLastWriteTimeFile.SetLastWriteTime设置每个目录的时间,每次迭代时间增加2秒。

使用GetLastWriteTime读取所有内容后,确认时间戳已更新,但玩家不会执行预期操作。。它确实对目录和一些文件(可能是以前已经按字母顺序复制的文件)进行了正确的排序,但不是所有文件。使用SetCreationTime再次尝试所有操作,但结果相同。

那么,为了实现这一点,必须设置哪个文件属性?还是FAT驱动器本身的某些属性?使用哪些功能?(最终普通的C API也可以)

必须设置哪个属性才能更改文件复制时间

fatsort声称要这样做,这样您就可以研究它的源代码来了解如何重新排序文件。

注意,你想做的是一个相当复杂的过程,因为它依赖于FAT的内部结构,但它是可行的。