【发布时间】:2014-04-16 10:08:41
【问题描述】:
我有一个便携式音频播放器,其中列出了目录和文件(SD 卡 FAT32 存储),按照手册 in the order they are copied。这确实是它的作用:一次手动复制一个文件时,它将按照复制的顺序显示这些文件。现在我已经使用 Windows Explorer 和 Unison 的组合复制了数百个文件,因此所有内容都以基本上随机的顺序显示。我希望所有内容都按字母顺序列出,所以我编写了我能想到的最简单的 C# 代码,它按字母顺序列出目录,其中的文件同上,并使用 Directory.SetLastWriteTime 和 File.SetLastWriteTime 设置每个目录的时间,并且该时间在每次迭代中增加 2 秒。
使用GetLastWriteTime 重新读取所有内容确认时间戳已更新,但播放器不会执行预期的操作。它确实正确排序了目录,以及一些文件(可能是那些已经按字母顺序复制的文件)之前),但不是全部。使用SetCreationTime 再次尝试了所有操作,但结果相同。
那么必须设置哪个文件属性才能使其正常工作?或者它是 FAT 驱动器本身的某些属性?以及使用哪些功能? (最终纯 C api 也可以)
【问题讨论】:
-
不是文件复制时间。可能是导致问题的 FAT32 文件表中的条目顺序。你必须想办法改变它。老实说,您最好删除所有内容.. 并编写一个小型 C# 应用程序,按照您想要的顺序复制文件.. 这是一个 15 分钟的工作。
-
@ta.speot.is 你可以把它变成一个答案,我会接受它,它引导我进行适当的互联网搜索,揭示各种工具和实用程序来处理这个问题跨度>
标签: c# last-modified fat32