我正在寻找一种将文件从一个网络驱动器复制到另一个的编程方式。我创建了一个执行简单复制的程序,但这还不够,因为该行不可靠并且文件最终被损坏。是否有一种技术可以同步文件夹并进行总和检查或类似的东西。
我需要它是 ac# 应用程序,因为我需要知道复制何时完成,以便我可以处理另一端的文件。我正在使用 Windows 服务来协调这一点。
如有必要,我只是在寻找有人通过教程为我指明正确的方向。
我正在寻找一种将文件从一个网络驱动器复制到另一个的编程方式。我创建了一个执行简单复制的程序,但这还不够,因为该行不可靠并且文件最终被损坏。是否有一种技术可以同步文件夹并进行总和检查或类似的东西。
我需要它是 ac# 应用程序,因为我需要知道复制何时完成,以便我可以处理另一端的文件。我正在使用 Windows 服务来协调这一点。
如有必要,我只是在寻找有人通过教程为我指明正确的方向。
您正在寻找的是Robocopy(又名 Robust Copy),它内置于 Windows Vista 和更新版本中,并且具有在网络故障时重试的功能。
一个缺点是没有内置“验证”功能,但如果需要,您可以使用第 3 方文件哈希程序并将副本放入脚本中,该脚本在副本完成后验证哈希。
这是一个以可重新启动模式复制所有文件和子文件夹的查询,如果复制失败,它将重试 1,000,000 次,默认等待 30 秒。(你可以用/r:<N>
一个数字来改变/w:<N>
它)<N>
robocopy C:\SourceFolder \\DestComputer\DestFolder /zb /e
我唯一一次做过这样的事情是在部署到分布式服务器的过程中。在那种情况下,我压缩了文件,使用 PSEXEC 移动并解压缩了它们。
如果我是你,我会首先弄清楚如何压缩文件(以防止您描述的损坏问题),然后担心如何移动它们。