Skrypt pobierający pliki z kolejnymi liczbami w nazwie 5486 0

O temacie

Autor inż. Avallach

Zaczęty 25.01.2012 roku

Wyświetleń 5486

Odpowiedzi 0

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Potrzebowałem przed chwilą pobrać 60 plików o nazwach będących kolejnymi liczbami. Jako że nie chciało mi się tego robić ręcznie, zacząłem szukać odpowiedniego skryptu. Znalazłem vbscript który po prostu pobiera z góry określony plik do wybranej lokalizacji (źródło: http://vbscriptautomation.net/). Dodałem do niego po prostu pętlę wykorzystującą zmienną liczbową. Jeśli i wy macie czasami podobne problemy, zachęcam do wykorzystywania. Edytuje się tylko 3 ostatnie linijki zawierające pętlę.

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
 
For count = 1 to 60
download http://www.thesettlersonline.pl/sites/default/themes/siedler/images/landing/avatar/big/ & count & .png, C:\settlers\ & count & .png
Next


Jak edytować pętlę:
[ramka]For count = 1 to 60
   download http://www.thesettlersonline.pl/sites/default/themes/siedler/images/landing/avatar/big/ & count & .png, C:\settlers\ & count & .png[/ramka]
Aby uruchomić skrypt, wystarczy zapisać go Notatnikiem jako plik z rozszerzeniem .vbs (zamiast .txt) i dwukrotnie kliknąć. Zależnie od ilości plików, zanim pojawią się w folderze trzeba chwilę poczekać.

//edit: jeśli jest szybsze i prostsze rozwiązanie, dajcie znać to wywalę ten temat ;p


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry