我寫了一個小的VBScript來創建.zip文件,然後將指定文件夾的內容複製到該.zip文件中。使用CopyHere寫入文件而不使用WScript.Sleep
我一個接一個地複製文件出於某種原因(我知道我可以一次完成整件事)。然而,我的問題是,當我試圖在沒有WScript.Sleep的情況下逐一複製它們時,每次循環迭代時我都會得到一個「未找到文件或沒有讀取權限」。錯誤;如果我在每次寫入後都設置了WScript.Sleep 200
,但不是100%的時間。
差不多,我想擺脫休眠功能,而不是依賴於因爲根據文件的大小,可能需要更長的時間,因此寫200毫秒可能不夠等
,你可以看到小片的下面的代碼,我遍歷文件,那麼如果它們擴展匹配我把它們放入的.zip(zip文件)
For Each file In folderToZip.Items
For Each extension In fileExtensions
if (InStr(file, extension)) Then
zipFile.CopyHere(file)
WScript.Sleep 200
Exit For
End If
Next
Next
我如何能停止依靠睡眠功能的任何建議?
感謝
另一種方式,我想這樣做是製作一個數組,並將所有通過過濾器的文件放入它......但我可以在CopyHere函數中使用該數組。 有誰知道它是怎麼回事? – mlevit 2010-05-23 01:46:45
不,您不能以任何其他方式使用該數組,而不是迭代它並執行基本相同的操作。那麼如何將傳遞的文件複製到臨時文件夾並從那裏一次添加它們? – Tomalak 2010-05-23 07:41:17
@Tomalak不知道這是否會有所作爲。我想我可能會將它們複製到一個文件中時遇到同樣的錯誤。你如何一次添加它們? – mlevit 2010-05-23 08:44:57