C# 文件源创建时间

C# 文件源创建时间,c#,file,C#,File,我有一个项目,我需要验证本地和远程位置计算机中的文件。我试过几种方法。首先,我尝试检查两个文件的CreationTimeUTC。我发现创建时间存储的是文件在相关文件系统上创建的时间,而不是文件第一次创建的时间。只要文件名匹配并且是最新版本。我“真的”不想读取整个内容并获取MD5哈希或其他形式的标识符,因为读取文件可能是不可能的。(例如,获取由另一个程序打开的文件的信息将使此方法不可行) 所以基本上我在问什么; 文件头中是否存储了表示文件创建时间或类似内容的内容?或者,如果有人可以建议使用其他设置

我有一个项目,我需要验证本地和远程位置计算机中的文件。我试过几种方法。首先,我尝试检查两个文件的CreationTimeUTC。我发现创建时间存储的是文件在相关文件系统上创建的时间,而不是文件第一次创建的时间。只要文件名匹配并且是最新版本。我“真的”不想读取整个内容并获取MD5哈希或其他形式的标识符,因为读取文件可能是不可能的。(例如,获取由另一个程序打开的文件的信息将使此方法不可行)

所以基本上我在问什么; 文件头中是否存储了表示文件创建时间或类似内容的内容?或者,如果有人可以建议使用其他设置或方法


提前感谢。

将每个文件从本地计算机复制到远程计算机时,请使用
file.GetCreationTime
将文件的创建时间分配给
字符串,然后使用
File.SetCreationTime
设置远程计算机副本的创建时间,使其与原始文件的创建时间相匹配。

将每个文件从本地计算机复制到远程计算机时,使用
File.GetCreationTime
将文件的创建时间分配给一个
字符串,然后使用
File.SetCreationTime
设置远程计算机副本的创建时间,使其与原始文件的创建时间匹配。

文件创建时间始终取决于创建它的计算机。简单的解决方案是将文件存储在您可以控制的机器上,并保持它们的时间同步

在我的头脑中,我可以想出两种方法来解决你的问题:

  • 获取远程和本地系统日期时间并使用 比较文件时间时,两者之间存在差异

  • 如果这些文件从未被删除,您可以随时检查它们的“生存期” 通过计算文件创建和上次创建之间的时间 修改


但是,这两种策略都可以通过手动更改系统日期时间来实现。

文件创建时间始终取决于创建它的机器。简单的解决方案是将文件存储在您可以控制的机器上,并保持它们的时间同步

在我的头脑中,我可以想出两种方法来解决你的问题:

  • 获取远程和本地系统日期时间并使用 比较文件时间时,两者之间存在差异

  • 如果这些文件从未被删除,您可以随时检查它们的“生存期” 通过计算文件创建和上次创建之间的时间 修改


但是,这两种策略都可以通过手动更改系统日期时间来实现。

您是否尝试过使用
File.GetLastWriteTime
?至少在将文件从笔记本电脑复制到文件服务器时,LastWriteTime保持不变


(在从NTFS复制到FAT时,似乎有一个已知的原因导致时间和日期信息有时出错,反之亦然)。

您是否尝试过使用
文件.GetLastWriteTime
?至少在将文件从笔记本电脑复制到文件服务器时,LastWriteTime保持不变

(在从NTFS复制到FAT时,似乎存在导致时间和日期信息有时出错的已知原因,反之亦然)