如何确定VBScript中复制何时完成?
时间:2020-03-06 14:53:18 来源:igfitidea点击:
有人知道在VBScript中确定文件复制何时完成的方法吗?我正在使用以下内容进行复制:
set sa = CreateObject("Shell.Application") set zip = sa.NameSpace(saveFile) set Fol = sa.NameSpace(folderToZip) zip.copyHere (Fol.items)
解决方案
我们可以在FileSystemObject上使用Copy方法来获得更好的运气。我已经使用它进行复制了,这是一个阻塞的呼叫。
Do Until zip.Items.Count = Fol.Items.Count WScript.Sleep 300 Loop
循环完成后,副本就完成了。
但是,如果我们只想复制而不是zip,则FSO或者WMI更好。
如果要压缩并希望将它们存储在文件中,则必须自己创建zip文件,并首先使用正确的标题。否则,我们将只获得压缩文件/文件夹IIRC。像这样的东西:
Set FSO = CreateObject( "Scripting.FileSystemObject" ) Set File = FSO.OpenTextFile( saveFile, 2, True ) File.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) ) File.Close Set File = Nothing Set FSO = Nothing
OpenTextFile中的2为ForWriting。