Vbscript 如何知道下载是否完成

Vbscript 如何知道下载是否完成,vbscript,Vbscript,我正在尝试从ftp位置下载软件。下载完成后,应开始安装。请问如何使用VBscript检查下载是否完成 这是我正在使用的当前逻辑,但我得到了所需的对象:“错误” 我正在从jar文件实例化vbscript set shell = wscript.CreateObject("WScript.Shell") shell.AppActivate ("Internet Explorer") Dim objHTTP Do wscript.sleep 100 Loop While( objHTTP.rea

我正在尝试从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")
set shell=wscript.CreateObject(“wscript.shell”)
shell.AppActivate(“Internet Explorer”)
模糊对象
做
wscript.sleep 100
循环While(objHTTP.readyState 4)和(objHTTP.readyState“完成”)
msgbox(“下载完成”)

shellobjHTTP对象未链接在一起,因此无法链接。 您不能使用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

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

您的代码似乎不完整。如果您想检查下载状态,则必须从“objHTTP”开始“反对。它无法检查由另一个对象启动的下载。实际上,我正在从jar文件实例化我的vbscript:set shell=wscript.CreateObject(“wscript.shell”)shell.AppActivate(“Internet Explorer”)wscript.sleep 10000 Dim objHTTP Do wscript.sleep 100 Loop While(objHTTP.readyState 4)和(objHTTP.readyState)“完成”)msgbox(“下载完成”)看看这个==>