gpt4 book ai didi

vb6 - 为什么 FileCopy 在 Windows 7 上随机失败?

转载 作者:行者123 更新时间:2023-12-04 19:39:57 25 4
gpt4 key购买 nike

我有一个在 Windows 7 上运行的 VB6 程序。它正在复制大量文件,有时 FileCopy 会因访问冲突而失败(每 60 到 500 个文件之间)。

我无法使用单个文件复制它,只有在这种大规模复制操作期间才会出现此问题。

如果源/目标位于硬盘、网络共享或 CD-ROM 上,则没有区别。

什么会引发这个问题?

编辑:我的问题可能有点复杂,所以这里有更多数据:

运行 1:

  1. 开始复制 5.000 个文件
  2. 文件 #983 访问冲突
  3. 文件 #1437 访问冲突
  4. 文件 #1499 访问冲突
  5. 文件 #2132 访问冲突
  6. 文件 #3456 访问冲突
  7. 文件 #4320 访问冲突
  8. 完成

运行 2:

  1. 开始复制 5.000 个文件
  2. 文件 #60 访问冲突
  3. 文件 #3745 访问冲突
  4. 完成

观察

  • 受影响的文件总是不同的
  • 如果连续多次复制同一个文件批处理,受影响的文件数量往往会减少。
  • 以管理员身份运行没有区别
  • 应用程序对所有必要的文件系统对象具有读/写访问权限
  • 此问题仅发生在 Windows 7 工作站上!

最佳答案

最佳猜测:是否有可能另一个用户/应用程序在进程运行时正在使用指定的文件? (杀毒扫描程序、Win7 搜索索引工具、Windows Defender 等)您可以尝试以安全的方式启动机器以消除任何后台服务/应用程序并尝试运行该进程以查看。

导致问题的文件类型或文件大小是否一致?

机器资源不足吗? RAM/磁盘空间

你说它发生在 Win7 上——它是多台 Win7 机器还是只有一台。 (帮助排除系统资源与软件/操作系统)

来自事件查看器(控制面板 > 管理工具)的任何提示 - 值得怀疑

该过程是否需要很长时间才能完成?如果您能承受性能损失,您可能会考虑在每次复制或每个 X 文件后销毁和重新创建 FSO 对象,以确保 Win7/VB6 不会出现一些奇怪的内存泄漏问题。

不一定是推荐的解决方案,但如果所有其他方法都失败了,您可以处理该错误并将触发它的文件保存在字典/集合中,并在完成后重新循环处理任何这些文件。不保证不会再发生。

关于vb6 - 为什么 FileCopy 在 Windows 7 上随机失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com