WSH和Windows压缩有问题。
我的目标是能够使用内置的Windows压缩来压缩文件(不是文件夹,而是来自不同位置的单个文件,我已经将这些文件存储在数组中)。我正在使用VB6。
这里是我的例程(vb6代码):
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函数完成之后才调用下一个函数以避免出现问题。
有人有这方面的经验吗?
谢谢-
发布于 2010-04-05 19:41:11
在进行下一次循环迭代(如建议的这里和这里)之前,您应该能够通过检查目标ZIP文件夹中的文件计数来实现这种同步:
For i = 0 To filePointer
objFolder.CopyHere filesToZip(i)
Do Until objFolder.Items.Count = i+1
WScript.Sleep 100
Loop
Nexthttps://stackoverflow.com/questions/2580554
复制相似问题