如何知道下载是否完成
问题描述:
我正试图从ftp位置下载软件。下载完成后,应开始安装。我可以知道如何检查下载是否完成或不使用VBscript。如何知道下载是否完成
这是我使用的当前逻辑,但我得到所需的对象:”错误
我实例从jar文件
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")
答
壳和objHTTP对象是VBScript的没有链接在一起,他们不能。 你不能检查下载从壳与objHTTP,您需要管理整个下载与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
另外,不是最干净的答案,但如果你知道的话,你可以在下载的文件在你的循环达到其大小检查。
你的代码似乎不完整。如果你想检查你的下载状态,它必须从你的“objHTTP”对象开始。它无法检查由另一个对象启动的下载。 – Rubik 2015-03-02 09:31:21
其实我从一个jar文件实例化我的VBScript:设置SHELL = wscript.CreateObject( “WScript.Shell”) shell.AppActivate(的 “Internet Explorer”) wscript.sleep 10000 昏暗objHTTP 做 WScript的。睡100 循环while(objHTTP.readyState 4)和(objHTTP.readyState “完整”) MSGBOX( “下载完成”) – user3857726 2015-03-02 09:49:01
更新相同 – user3857726 2015-03-02 10:01:04