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

C# 如何创建文件比较和复制程序?,c#,python,copy,file-transfer,transfer,C#,Python,Copy,File Transfer,Transfer,我正在做一个项目,需要查看大量数据(~1TB),并将其从驱动器a复制到驱动器B。它将不断在后台(或托盘)运行,并每XX小时/分钟运行一次检查。此时,它将检查驱动器A中是否有任何新文件,并将其复制到驱动器B。如果有任何更新的文件,则它也会将文件从A复制并替换到B 我真的不知道从哪里开始。我应该用Python还是C#(可能是可视化的?)来写?如果有人能给我一些建议,我将不胜感激。谢谢 编辑: 只是想更新一下!我最终使用了内置在Windows中的Robocopy。我离开了Python,只创建了一个小的

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

我真的不知道从哪里开始。我应该用Python还是C#(可能是可视化的?)来写?如果有人能给我一些建议,我将不胜感激。谢谢

编辑:


只是想更新一下!我最终使用了内置在Windows中的Robocopy。我离开了Python,只创建了一个小的批处理文件,该文件将检查驱动器a中的所有文件,并与驱动器B进行比较。如果有新的或不存在的文件,它会将其复制过来。然后,我通过同样内置在Windows中的任务调度器设置任务。在一个批处理文件中只需一行代码就可以完美地工作

我自己也开始考虑建造这样的东西。我打算用c#编写它,可能是作为一个系统服务,然后让它定期扫描新文件。然后,它将使用sha1或md5构建校验和。下面是一些关于比较的附加信息


在获得哈希列表后,它可以传输文件,然后在目标上进行另一次哈希,以确保正确写入。我只是想保留所有的散列,然后当它重新扫描目录时,它有一些东西可以比较,以便查看文件是否被更新。然后它会重复上面的内容。

欢迎使用SO,请发布您编写的代码,并描述哪些代码不适用于它。现在关于使用哪种语言的问题越来越少,因为它是正确的(例如fortran、cobol等),而更多的是因为您知道如何使用……我同意BugFinder,它在Python中肯定是可行的。我只是使用c#,因为它很容易创建windows服务。我在c#中编写了一个库,可以从Winform或命令行应用程序或服务访问。你如何运行它不是很重要。您只需跟踪文件的修改日期,并且您的文件例程需要递归,以允许任何深度的文件夹。非常正确,如果只查看修改日期,他不需要使用校验和。然后他就可以写验证了。谢谢。我实际上只是想检查修改日期,如果文件更新,下载并替换。只是不知道从哪里开始。有我可以使用的图书馆吗?哈哈,我只是不知道从哪里开始这样的事情。在我了解了内核应该如何工作之后,我可以了解其余的部分。您可以使用它来获取诸如上次写入时间(修改日期)之类的内容。对于核心,您可以使用托盘图标执行控制台应用程序,也可以执行系统服务,然后您只需要定期进行扫描。一个简单的实现可以是这样的