c#-4.0 - 检测两个文件是否完全相同,比较什么?

标签 c#-4.0 filesystems ntfs filecompare

我想知道如何比较两个文件以确定它们是否完全相同。 我知道如何比较文件名、创建/修改日期,甚至哈希(如果需要)。

但是我不知道如何比较文件上的元数据(我实际上不知道它是如何存储的):安全配置、兼容性设置、潜在的防病毒时间戳等等。

我的最终目标是深入比较不同计算机上的两个文件系统

谢谢 史蒂夫

[编辑]为了澄清我重新表述了问题的标题

最佳答案

文件由什么构成?在现代文件系统(例如 NTFS)上,您有

  • 文件属性(时间、FAT 属性)
  • 未命名文件流
  • 零个或多个备用数据流 (ADS)
  • 扩展属性
  • NTFS 安全性(它存储在 ADS 中,但我们可以单独识别它)

其余部分(配置、防病毒时间戳/这是什么/等)存储在文件外部,而不是文件。

因此您需要检查文件的上述部分并进行比较。

存在不同的方法来读取不同的信息,您需要使用它们来将它们组合在一起并比较不同文件的情况。

关于c#-4.0 - 检测两个文件是否完全相同,比较什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863955/

相关文章:

javascript - 如何从文件系统匹配行获取信息?

windows - 如何创建具有无效 Windows 时间戳的文件?

即使授予 "Everyone"访问权限,ASP.NET 应用程序也无法访问网络共享

regex - Azure容器名称RegEx

c# - 在表单例份验证中获取当前的 MembershipUser

javascript - 如何覆盖 Chrome 应用程序中的文件?

c++ - 面试 - 文件系统设计

c# - 没有使用泛型的显式叶节点类的父子数据结构

asp.net-mvc - 如何强制 Lazy<T> 对象创建/重新创建值?

windows - 有没有办法做一个异步FindNextFile?