如何创建文件比较和复制程序?

时间:2016-12-13 14:33:38

标签: c# python copy file-transfer transfer

我正在处理一个需要查看大量数据(~1TB)并将其从驱动器A复制到驱动器B的项目。它将在后台(或托盘)中不断运行并运行检查每XX小时/分钟。此时,它将检查驱动器A中是否有任何新文件并将它们复制到驱动器B.如果有任何文件已更新且更新,则它还将复制并替换A到B中的文件。

我不确定从哪里开始。我应该用Python或C#编写这个(可能是视觉效果?)?如果有人能给我一些建议,我会非常感激。谢谢!

编辑:

只想提供更新!我最终使用了内置于Windows中的Robocopy。我离开了Python,只是创建了一个小的批处理文件,它将检查驱动器A中的所有文件并与驱动器B进行比较。如果有任何新内容或不存在,则将其复制。然后,我通过任务计划程序设置了一个任务,也安装在Windows中。完全可以在批处理文件中完成一行代码!

1 个答案:

答案 0 :(得分:1)

我开始考虑自己建造这样的东西。我打算用c#编写它,可能作为系统服务,然后定期扫描新文件。然后它将使用sha1或md5构建校验和。 You can look here about how to generate an MD5 in c#.以下是一些关于byte-for-byte vs checksum比较的其他信息。

在它有哈希列表后,它可以传输文件,然后在目标上执行另一个哈希,以确保它被正确写入。我只是挂在所有哈希上,然后当它重新扫描目录时,它有一些可以比较的内容,以便查看文件是否已更新。然后它会重复上述内容。