2012-12-04 58 views
1

我有多個網頁需要打開並將信息(僅爲文本)保存到每個網頁的新文件中。我根本就沒有VBScript的經驗。但是,我一直在尋找了幾天,這裏是我迄今所收集:VBS從列表中打開多個URL並保存到文件

function download(sFileURL, sLocation, async) 
    set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
    objXMLHTTP.open "GET", sFileURL, async 
    on error resume next 
    objXMLHTTP.send() 
    if err.number = 0 then 
    do until objXMLHTTP.Status = 200 
    wscript.echo objXMLHTTP.Status 
    wcript.sleep(200) 
    loop 
    if objXMLHTTP.Status = 200 Then 
    set objADOStream = CreateObject("ADODB.Stream") 
    objADOStream.Open 
    objADOStream.Type = 1 
    objADOStream.Write objXMLHTTP.ResponseBody 
    objADOStream.Position = 0  
    set objFSO = Createobject("Scripting.FileSystemObject") 
    If objFSO.Fileexists(sLocation) Then objFSO.DeleteFile sLocation 
    Set objFSO = Nothing 
    objADOStream.SaveToFile sLocation 
    objADOStream.Close 
    set objADOStream = Nothing 
    download = true 
    end if 
else 
    download = false 
end if 
    set objXMLHTTP = Nothing 
end function 

if download("http://books.google.com/books/feeds/volumes?q=isbn", "test.txt", false) then 
    wscript.echo "download ok" 
else 
    wscript.echo "download did not work" 
end if 

我怎樣才能改變

if download("http://books.google.com/books/feeds/volumes?q=isbn", "test.txt", false) 

從文本文件列表讀取,並保存爲test00 ,TEST01,test02,...

預先感謝您

+1

歡迎來到StackOverflow!請嘗試將您的代碼作爲[簡短,自包含,正確的示例](http://sscce.org)提交。因此,我們可以更輕鬆地幫助您解決問題! – durron597

回答

1

這是應該做的,你需要的是最簡單的代碼。

Set objFSO = CreateObject("Scripting.FileSystemObject") 
ListFile = "D:\list.txt" 
Set objFile = objFSO.OpenTextFile(ListFile) 
FileNumber = 0 
Do Until objFile.AtEndOfStream 
    URLFromList = objFile.ReadLine 
    FileNumber = FileNumber + 1 
    if download(URLFromList, "test" & FileNumber & ".txt", false) then 
     wscript.echo "download ok for " & URLFromList 
    else 
     wscript.echo "download did not work for " & URLFromList 
    end if 
Loop 
objFile.Close 
objFSO = Nothing