VB6:在网络共享中复制文件

时间:2011-05-17 14:50:32

标签: vb6

我想将可执行文件的当前文件夹中的文件复制到网络共享。

我使用了以下代码,但如果该文件存在,则不会替换它。很高兴它询问用户是否想要更换。

 Set oFSO = CreateObject("Scripting.FileSystemObject")
 oFSO.GetFile("c:\file.txt").Copy "\\server\sharename\", True

2 个答案:

答案 0 :(得分:2)

您必须构建自己的逻辑来检查文件是否存在,并根据该手动提升消息框。您可以使用FileExists函数检查文件是否存在。

答案 1 :(得分:2)

您的代码示例适用于复制文件。您的网络共享可能拒绝访问。

仅供参考,还有另一种方法 - 使用FileCopy:

FileCopy <source file>, <destination file>

它会在没有提示的情况下覆盖目的地。如果你想提示,我可以想到两种方式:

  1. 像Gavin建议的那样使用FileExists,并询问用户是否要覆盖。
  2. 使用Windows内置的功能。听起来这可能是你最好的选择。当文件复制时,SHFileOperation API将显示带有“取消”按钮的进度对话框。它还会提示覆盖。使用的对话框与Windows资源管理器使用的对话框相同。使用FO_COPY表示wFunc;我不认为你需要在fFlags中设置任何标志,但可能会有一些兴趣。将pFrom / pTo设置为源/目标文件/目录,然后将hwnd设置为所有者窗口(如果没有,则设置为0)。结构中的其他所有内容都可以为NULL / 0 /空。