My Blog List

Saturday, May 19, 2012

Download File - VBScript function

Here is the function to download any file over internet using XMLHTTP COM objects in VBScript. 

  1. Function Download(sFileURL, sLocation)
  2.   'create xmlhttp object
  3.   Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
  4.  
  5.   'get the remote file
  6.   objXMLHTTP.open "GET", sFileURL, false
  7.  
  8.   'send the request
  9.   objXMLHTTP.send()
  10.  
  11.   'wait until the data has downloaded successfully
  12.   do until objXMLHTTP.Status = 200 :  wscript.sleep(1000) :  loop
  13.  
  14.   'if the data has downloaded sucessfully
  15.   If objXMLHTTP.Status = 200 Then
  16.  
  17.         'create binary stream object
  18.     Set objADOStream = CreateObject("ADODB.Stream")
  19.     objADOStream.Open
  20.  
  21.           'adTypeBinary
  22.     objADOStream.Type = 1
  23.     objADOStream.Write objXMLHTTP.ResponseBody
  24.  
  25.           'Set the stream position to the start
  26.     objADOStream.Position = 0    
  27.  
  28.           'create file system object to allow the script to check for an existing file
  29.           Set objFSO = Createobject("Scripting.FileSystemObject")
  30.  
  31.           'check if the file exists, if it exists then delete it
  32.     If objFSO.Fileexists(sLocation) Then objFSO.DeleteFile sLocation
  33.  
  34.           'destroy file system object
  35.     Set objFSO = Nothing
  36.  
  37.           'save the ado stream to a file
  38.     objADOStream.SaveToFile sLocation
  39.  
  40.           'close the ado stream
  41.     objADOStream.Close
  42.  
  43.     'destroy the ado stream object
  44.     Set objADOStream = Nothing
  45.  
  46.   'end object downloaded successfully
  47.   End if
  48.  
  49.   'destroy xml http object
  50.   Set objXMLHTTP = Nothing
  51. End Function
  52.  
  53. 'Call like this
  54. Download "http://tamilmp3world.com/123.mp3""C:\test1.mp3"

I got this script from internet and thanks for the author as I forgot where I took this.

1 comment:

  1. Thanks for sharing great information in your blog. Got to learn new things from your Blog . It was very nice blog to learn about Selenium

    ReplyDelete