1

ファイルのダウンロードを自動化するために、Web 上でこの便利な vbscript を見つけました。

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"

URL を強制的に解析し、たとえば *.exe ファイルを Web の場所にダウンロードする方法はありますか? このような:

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

file0001.exe  

時間の経過とともに名前が変わるファイルを持つ URL があるためです。拡張子は.exeです。

http と ftp の両方のプロトコルを有効にしており、ftp には認証がありません (無料)。

4

1 に答える 1

0

これは、そのサイトでファイルの参照が有効になっている場合にのみ可能であり、めったにありません。ファイル名を解析するには、ファイルの名前がリストされている URL が必要です。そのようなオプションを備えたwget http://users.ugent.be/~bpuype/wget/のようなツールを使用することをお勧めします。また、vbscript はそのような操作には適していません。ゼロから始める場合は、Ruby などを使用する方がよいでしょう。

問題の URL を公開していただければ、さらにお役に立てるかもしれません。

于 2012-07-16T21:58:38.813 に答える