首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows压缩中VB6 + WSH的应用

Windows压缩中VB6 + WSH的应用
EN

Stack Overflow用户
提问于 2010-04-05 19:17:47
回答 1查看 1K关注 0票数 0

WSH和Windows压缩有问题。

我的目标是能够使用内置的Windows压缩来压缩文件(不是文件夹,而是来自不同位置的单个文件,我已经将这些文件存储在数组中)。我正在使用VB6。

这里是我的例程(vb6代码):

代码语言:javascript
复制
Dim objShell
Dim objFolder
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.namespace(savePath & "\export.zip")
' --
' loop through array holding files to zip
For i = 0 To filePointer
  objFolder.CopyHere (filesToZip(i))
Next
' --
Set objShell = Nothing
Set objFolder = Nothing

它可以工作,但是当有超过几个文件时就会出现问题。--我开始从那里得到错误(大概是因为它调用压缩太快了,压缩文件被锁定了)。我似乎不知道如何等到COPYHERE函数完成之后才调用下一个函数以避免出现问题。

有人有这方面的经验吗?

谢谢-

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-05 19:41:11

在进行下一次循环迭代(如建议的这里这里)之前,您应该能够通过检查目标ZIP文件夹中的文件计数来实现这种同步:

代码语言:javascript
复制
For i = 0 To filePointer
  objFolder.CopyHere filesToZip(i)

  Do Until objFolder.Items.Count = i+1
    WScript.Sleep 100
  Loop
Next
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2580554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档