vbScript自动文件扩展名下载

时间:2012-07-15 12:53:09

标签: file vbscript download file-extension

我发现这个有用的vbscript on the web可以自动下载文件。

function download(sFileURL, sLocation)

'create xmlhttp object
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

'get the remote file
objXMLHTTP.open "GET", sFileURL, false

'send the request
objXMLHTTP.send()

'wait until the data has downloaded successfully
do until objXMLHTTP.Status = 200 :  wscript.sleep(1000) :  loop

'if the data has downloaded sucessfully
If objXMLHTTP.Status = 200 Then

        'create binary stream object
    Set objADOStream = CreateObject("ADODB.Stream")
    objADOStream.Open

        'adTypeBinary
    objADOStream.Type = 1
    objADOStream.Write objXMLHTTP.ResponseBody

        'Set the stream position to the start
    objADOStream.Position = 0    

        'create file system object to allow the script to check for an existing file
        Set objFSO = Createobject("Scripting.FileSystemObject")

        'check if the file exists, if it exists then delete it
    If objFSO.Fileexists(sLocation) Then objFSO.DeleteFile sLocation

        'destroy file system object
    Set objFSO = Nothing

        'save the ado stream to a file
    objADOStream.SaveToFile sLocation

        'close the ado stream
    objADOStream.Close

    'destroy the ado stream object
    Set objADOStream = Nothing

'end object downloaded successfully
End if

'destroy xml http object
Set objXMLHTTP = Nothing

End function

download "http://remote-location-of-file", "C:\name-of-file-and-extension"

有没有办法强制它解析网址,例如在某个网站上下载* .exe文件?像这样:

URL:  http://examplesite.com/files/

file0001.exe  

因为我有一个URL,其中有一个名称在时间内发生变化的文件。它有.exe扩展名。

我启用了http和ftp协议,ftp没有身份验证(免费)。

1 个答案:

答案 0 :(得分:0)

只有在该网站上才能启用文件浏览,而这种情况很少发生。您将需要一些URL,其中列出了文件的名称以解析文件名。你最好使用像wget http://users.ugent.be/~bpuype/wget/这样的工具,它有这样的选择。另外vbscript对于这样的操作也不是一个好的选择,如果你从头开始,你会更好地使用Ruby。

如果您发布有问题的网址,我可以帮助您。