如何创建文件比较和复制程序?
How to create file compare and copy program?
我正在做一个需要查看大量数据 (~1TB) 并将其从驱动器 A 复制到驱动器 B 的项目。它会一直 运行 在后台(或托盘) ) 和 运行 每 XX hours/mins 检查一次。届时,它会检查驱动器A中是否有任何新文件并将它们复制到驱动器B。如果有任何更新和更新的文件,它也会将文件从A复制并替换到B。
我不太确定从哪里开始。我应该用 Python 还是 C#(也许是视觉的?)来写这个?如果有人能给我一些建议,我将不胜感激。谢谢!
编辑:
只是想更新一下!我最终使用了内置于 Windows 中的 Robocopy。我离开 Python 并创建了一个小的批处理文件,该文件将检查驱动器 A 中的所有文件并与驱动器 B 进行比较。如果有任何新文件或不存在的文件,它会将其复制过来。然后我通过 Task Scheduler 设置了一个任务,它也内置于 Windows。只需 1 行代码即可在批处理文件中完美运行!
我开始研究自己构建这样的东西。我打算用 c# 编写它,可能作为系统服务,然后让它定期扫描新文件。然后它将使用 sha1 或 md5 构建校验和。 You can look here about how to generate an MD5 in c#. Here is some additional information talking about byte-for-byte vs checksum 比较。
获得哈希列表后,它可以传输文件,然后对目标进行另一次哈希以确保其写入正确。我打算只保留所有哈希值,然后当它重新扫描目录时,它有一些东西可以比较以查看文件是否已更新。然后它会重复上面的内容。
我正在做一个需要查看大量数据 (~1TB) 并将其从驱动器 A 复制到驱动器 B 的项目。它会一直 运行 在后台(或托盘) ) 和 运行 每 XX hours/mins 检查一次。届时,它会检查驱动器A中是否有任何新文件并将它们复制到驱动器B。如果有任何更新和更新的文件,它也会将文件从A复制并替换到B。
我不太确定从哪里开始。我应该用 Python 还是 C#(也许是视觉的?)来写这个?如果有人能给我一些建议,我将不胜感激。谢谢!
编辑:
只是想更新一下!我最终使用了内置于 Windows 中的 Robocopy。我离开 Python 并创建了一个小的批处理文件,该文件将检查驱动器 A 中的所有文件并与驱动器 B 进行比较。如果有任何新文件或不存在的文件,它会将其复制过来。然后我通过 Task Scheduler 设置了一个任务,它也内置于 Windows。只需 1 行代码即可在批处理文件中完美运行!
我开始研究自己构建这样的东西。我打算用 c# 编写它,可能作为系统服务,然后让它定期扫描新文件。然后它将使用 sha1 或 md5 构建校验和。 You can look here about how to generate an MD5 in c#. Here is some additional information talking about byte-for-byte vs checksum 比较。
获得哈希列表后,它可以传输文件,然后对目标进行另一次哈希以确保其写入正确。我打算只保留所有哈希值,然后当它重新扫描目录时,它有一些东西可以比较以查看文件是否已更新。然后它会重复上面的内容。