2013年8月7日水曜日

VBScriptでWeb上のファイルをダウンロードする

  • このエントリーをはてなブックマークに追加


VBScriptでWebサイト上のファイルをダウンロードするスクリプトです。

例:comodoのinstallerを自作のWEBサーバーにおいて、そこからダウンロードし、クライアントの方で実行するスクリプトです。関数DownloadFileがダウンロードファイルのURL、ファイル名、保存先フォルダを指定してて使えます。

Function DownloadFile(strUrl,strFile,strFolder)
    ' ダウンロード用のオブジェクト
    Set objSrvHTTP = Wscript.CreateObject("Msxml2.ServerXMLHTTP")
    on error resume next
    Call objSrvHTTP.Open("GET", strUrl, False )
    if Err.Number <> 0 then
        Wscript.Echo Err.Description
        Wscript.Quit
    end if
    objSrvHTTP.Send

    if Err.Number <> 0 then
    ' おそらくサーバーの指定が間違っている
        Wscript.Echo Err.Description
        Wscript.Quit
    end if
    on error goto 0
    if objSrvHTTP.status = 404 then
        Wscript.Echo "URLが正しくありません(404)"
        Wscript.Quit
    end if
    ' バイナリデータ保存用オブジェクト
    Set Stream = Wscript.CreateObject("ADODB.Stream")
    Stream.Open
    Stream.Type = 1 ' バイナリ
    ' 戻されたバイナリをファイルとしてストリームに書き込み
    Stream.Write objSrvHTTP.responseBody
    ' ファイルとして保存
    Stream.SaveToFile strFolder & strFile, 2
    Stream.Close
End Function

'Webサイト上のフルパス
url = "http://10.10.3.60/download/cert/cispremium_installer.exe"
'保存先フォルダ
folder = "c:\temp\"
'保存したファイルの名前
filename = "cispremium_installer.exe"

'ダウンロード
DownloadFile url, filename, folder

'ダウンロードしたあとに、.exeを実行する
cmd = "cmd /c " & folder & filename
Set objShell = WScript.CreateObject("WScript.Shell")
’Runで1を指定すると画面が表示される
objShell.Run cmd,1,true
set objShell = Nothing

この記事がお役にたちましたらシェアをお願いします:)

  • このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿