如何知道下载是否完整

时间:2015-03-02 09:27:15

标签: vbscript

我正在尝试从ftp位置下载软件。下载完成后,应开始安装。我是否知道如何使用VBscript检查下载是否已完成。

这是我正在使用的当前逻辑但是我得到对象要求:" 错误

我正在从jar文件中实例化vbscript

set shell = wscript.CreateObject("WScript.Shell")
shell.AppActivate ("Internet Explorer")


Dim objHTTP

Do
wscript.sleep 100
Loop While( objHTTP.readyState <> 4 ) And ( objHTTP.readyState <> "complete" ) 

msgbox ("download completed")

1 个答案:

答案 0 :(得分:1)

shell objHTTP 对象没有链接在一起,也不可能。 您无法使用 objHTTP 检查从 shell 开始的下载,您需要使用 objHTTP 对象管理整个下载。

您可以采取以下措施来管理下载:

Const BINARY = 1
Const CREATE = 2

' Download 7-ZIP 64bits.
myUrl = "http://www.7-zip.org/a/7z938-x64.msi"
' Save to disk in that file.
myFile = "c:\temp\7z938-x64.msi"

Set oHttp = WScript.CreateObject("WinHttp.WinHttpRequest.5.1")
oHttp.open "Get", myURL, False
oHttp.send

Set oStream = WScript.CreateObject("ADODB.Stream")
oStream.type = BINARY
oStream.open
oStream.write oHTTP.ResponseBody
oStream.SaveToFile myFile, CREATE
ostream.Close

此外,不是最干净的答案,但如果您知道,您可以检查下载的文件何时达到其循环中的大小。