我正在寻找一种强大的方法来通过
Windows网络共享来复制文件,该网络共享容忍间歇性连接.该应用程序经常用于大型医院的无线,移动工作站,我假设连接可能会一次丢失或几分钟.所涉及的文件大小通常约为200KB – 500KB.该应用程序是用VB6(ugh)编写的,但是我们经常最终使用Windows DLL调用.
谢谢!
我不清楚你的实际问题是什么,所以我会抛出一些想法.
原文链接:https://www.f2er.com/windows/370803.html>你想要可重新启动的副本(有这么小的文件大小,看起来不像那么大的交易)?如果是这样,看看CopyFileEx with COPYFILERESTARTABLE
>你想要可验证的副本吗?听起来你已经通过验证散列了.
>你想要更好的表现吗?这将是艰难的,因为它听起来像您无法在服务器上运行任何东西.否则,TransmitFile可能有所帮助.
你只是想要一个火,忘记操作?我想要炮弹出来,或者TeraCopy或者有些事情会起作用 – 但是对我来说似乎有点黑客.
>您想知道网络何时返回? IsNetworkAlive有你的答案.
sourceFile = Compress("*.*"); destFile = "X:\files.zip"; int copyFlags = COPYFILEFAILIFEXISTS | COPYFILERESTARTABLE; while (CopyFileEx(sourceFile,destFile,null,false,copyFlags) == 0) { do { // optionally,increment a Failed counter to break out at some point Sleep(1000); while (!IsNetworkAlive(NETWORKALIVELAN)); }
压缩文件首先可以保存您成功复制的文件的跟踪,以及需要重新启动的文件.它也应该使副本更快(较小的总文件大小和较大的单个文件大小),以牺牲双方cpu功率为代价.一个简单的批处理文件可以在服务器端解压缩它.