Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 必须设置哪个属性才能更改文件复制时间?_C#_Last Modified_Fat32 - Fatal编程技术网

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

C# 必须设置哪个属性才能更改文件复制时间?,c#,last-modified,fat32,C#,Last Modified,Fat32,我有一个便携式音频播放器,它按照手册中的顺序列出目录和文件(SD卡FAT32存储器),并将它们复制到。它确实是这样做的:当一次手动复制一个文件时,它将按照复制的顺序显示这些文件。现在,我已经使用Windows资源管理器和Unison的组合复制了数百个文件,因此所有内容都以基本上随机的顺序显示。我希望所有内容都按字母顺序列出,因此我编写了我能想到的最简单的C代码,按字母顺序列出目录,标识其中的文件,并使用Directory.SetLastWriteTime和File.SetLastWriteTim

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

使用
GetLastWriteTime
读取所有内容,确认时间戳已更新,但播放器不会执行例外操作。。它确实正确地排列了目录和一些文件(可能是那些以前已经按字母顺序复制过的文件),但不是全部。使用
SetCreationTime
再次尝试所有操作,但结果相同

那么,为了使其工作,必须设置哪个文件属性?还是脂肪驱动本身的某些特性?使用哪些功能?(最终,普通的C API也不错)

声称可以这样做,因此您可以研究它以了解如何重新排序文件


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

这不是文件复制时间。可能是FAT32文件表中条目的顺序导致了问题。你必须想办法改变这种状况。老实说,你最好把所有东西都拿走。。并编写一个小型C#应用程序,按照您想要的顺序复制文件。。最多15分钟@你可以把它变成一个答案,我会接受的,这会让我在互联网上搜索到各种工具和实用工具来处理我可能会用到的这张便条