从vbscript下载文件?

我需要一个脚本,可以在新安装的Windows XP上运行,并从网上下载指定的文件,如http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi方法来做到这一点没有手工制作HTTP / FTP请求或使用第三方程序,如wget? 我可以build议WScript.CreateObject(“internetexplorer.application”)会做的神奇,但它的文档是非常巨大的,谷歌沉默,一如既往:)。

    刚刚发现这个粘贴在下面。 你可以用cscript来运行它,并安排它。

        '设置你的设置 
    strFileURL =“http://www.domain.com/file.zip” strHDLocation =“D:\ file.zip” '取文件 设置objXMLHTTP = CreateObject(“MSXML2.XMLHTTP”) objXMLHTTP.open“GET”,strFileURL,false objXMLHTTP.send() 如果objXMLHTTP.Status = 200那么 设置objADOStream = CreateObject(“ADODB.Stream”) objADOStream.Open objADOStream.Type = 1'adTypeBinary objADOStream.Write objXMLHTTP.ResponseBody objADOStream.Position = 0'将stream位置设置为开始 设置objFSO = Createobject(“Scripting.FileSystemObject”) 如果objFSO.Fileexists(strHDLocation)那么objFSO.DeleteFile strHDLocation 设置objFSO = Nothing objADOStream.SaveToFile strHDLocation objADOStream.Close 设置objADOStream = Nothing 万一 设置objXMLHTTP = Nothing

    当涉及到这样的事情时,VBScript是不合作的。 这种事情总是要求COM服务器不是正式的脚本引擎的一部分。

    麦克斯韦使用MSXML2.XMLHTTP的build议似乎是一个很酷的方法。 我必须承认我以前没有遇到过这种伎俩。 还有各种商业COM服务器,将做文件下载。

    这种types的问题是我正在将我的VBScript大部分转移到Powershell的原因之一。 因为Powershell可以无缝地使用.Net对象,所以做这样的事情要容易得多。

    JR

    该方法使用

    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 

    是更优雅,不幸的是不是很便携,因为对象的版本在Windows的版本和更新中发生了很大的变化。

    运用

     WScript.CreateObject("internetexplorer.application") 

    可能会更好但不太优雅。

    MSXML2.XMLHTTP是围绕旧的WinInet构build的。 有一个名为Msxml2.ServerXMLHTTP的更新的接口,它更可靠。 它build立在一个更新的MS WinHTTP堆栈上。 我build议直接调用WinHTTP。

    只需使用CreateObject(“WinHttp.WinHttpRequest.5.1”)而不是创build一个MSXML2.XMLHTTP对象。 其余的代码保持不变。