• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2012年03月22日

You!買っちゃいなよ♪東芝FlashAirで複数ファイルを取得するVBScript

You!買っちゃいなよ♪東芝FlashAirで複数ファイルを取得するVBScript 昨年末、とあるサイトでEye-Fiとかいう無線LAN機能付SDカードの存在を知った。
正直、このサイズで無線LANが使えるのかと衝撃的で、3年も前からあるのに存在に気付かなかったことにショックを受けた。

しかし、いろいろと使い道とか調べてたんですが、どうも自分の使い方では有効活用が見出せない。

それから更にプラネックスのFluCardという、これまた昨年秋発売した無線LAN付きのSDカードの存在を知る。いろいろとレビューを読んでいると安定感と発熱の心配、無線LANの起動に制御画像ファイルを削除する発想は面白いのですが、制御画像を復活させるのにSDカードを抜き差しする手間とか考えるとイマイチ購入に踏み切れなかったんですよね。

2012年3月。やっとお待ちかねの東芝FlashAir(SD-WL008G)が発売。
とは言え、8GB(Class6)で市価\7,000前後。

買っても便利なの!?(絶対的な必要性を感じない。)
でも、なんとなく使ってみたい。。。

近所のヤマ電に行って置いてあったら買おうとしたら、そのようなSDカードは置いてないと撃沈。
次、ジョ○シンに寄ったら20枚も在庫カードがある。おぉ♪
でもやっぱり、\6,980。。。むむむむ。。。躊躇するなぁ。。。

You!買っちゃいなよ♪

天の声が聞こえて(ないけど)レジへ。。。
カード決済でサインしようとしたら\6,000ぐらいの値段になってて、なんか価格設定間違ってませんかと思いつつ後で確認したら3月決算在庫処分セールで15%OFFで買えた(ラッキー!!!)

さっそく、自宅でSSIDとパスの初期設定を変更してデジカメ画像を参照。
画像のようなサムネイルがブラウザに並ぶわけです。画像ファイルに限らずEXEとかも表示。

それじゃ任意のファイルを拾っていくかと、ひとつひとつ開いて画像を保存。。。。
やってられん。。。

他のユーザーは、どうやっているのか。
FireFoxとかは画像を一括取得する便利なアドインがあるらしいが、このFlashAirのためだけに環境とか余計なツール入れたくないな。。。

そこでWeb上に載っているVBScriptのサンプルをいくつか繋ぎ合わせてやれば簡易ファイル取得Scriptが作れそうなので作ってみた。
(見栄えが悪いとかナシね)

InputBoxには、FlashAirからファイルを取得したい直下のURLとファイル検索キーワードを空白で空けて入力。
前半は、直下URLのHTMLテキストを取得。
そのHTMLテキスト内で検索キーワードで拾ったファイル名称を取得。
VBScriptと同じカレントフォルダに指定ファイルがコピーされる。
このとき、同一ファイルがある場合は更新しない。(TimeStampチェックはしていない)

以下、Scriptをメモ帳などにコピペして字下げの全角スペースを半角スペースに置換した上で、
FlashAir.vbsとか名称をつけて保存。

適当なフォルダに保存したVBScriptファイルを置いて実行すればOK。

いずれ、東芝から便利なツール/アプリが無償配布されるだろうけど。。。
今のままだと、デジカメから無線LANでファイルが取得できる。ってだけなので。

ちなみに動作確認機種:富士フィルムZ950EXR(静止画/動画ともにOK)

3DS(一応動作確認)編とかは別Blogで。


以下、VBScript

Option Explicit

Dim objSrvHTTP, Stream, Fso
Set objSrvHTTP = Wscript.CreateObject("MSXML2.XMLHTTP")
Set Stream = Wscript.CreateObject("ADODB.Stream")
Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" )

Dim strCurPath, obj, strUrl, strChr
strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

Dim inpStr
Dim strVal
Dim aryStrings
Dim lngPos
Dim objFso, objFile

Dim iMsg

Dim objFsoChk  ' FileSystemObject
Dim strFile   ' Exist FileName&Path

''----- arg get
'if WScript.Arguments.Count < 2 then
'  WScript.Quit
'end if
'strUrl = WScript.Arguments.Item(0)
'strChr = WScript.Arguments.Item(1)

inpStr = InputBox("Input FlashAirURL & FindFileNameKeyWord","Input URL & FindKeyWord")
if inpStr = "" then
  WScript.Quit
end if
aryStrings = Split(inpStr, " ")

strUrl = aryStrings(0)
strChr = aryStrings(1)
if strUrl = "" And strChr = "" then
  WScript.Quit
end if

'----- Get URL html src code text
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

Stream.Open
Stream.Type = 1 ' Binary
Stream.Write objSrvHTTP.responseBody
'Stream.SaveToFile strCurPath & "\" & Fso.GetFileName(strUrl), 2
Stream.SaveToFile strCurPath & "\" & "tmp.txt", 2
Stream.Close

'----- Read html src code text file
on error resume next
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile(strCurPath & "\" & "tmp.txt", 1, False)
If Err.Number > 0 Then
  WScript.Echo "Open Error"
  WScript.Quit
end if

Set objFsoChk = WScript.CreateObject("Scripting.FileSystemObject")
If Err.Number > 0 Then
  WScript.Echo "Open Error"
  WScript.Quit
Else
  Do Until objFile.AtEndOfStream
    
    strVal = objFile.ReadLine
    lngPos = InStr(1, strVal, strChr)
    if lngPos <> 0 then
      
      aryStrings = Split(strVal, ",")
      
      '----- CurFile Exist Check
      strFile = strCurPath & "\" & aryStrings(1)
      If objFsoChk.FileExists(strFile) = False Then
        
        '----- get URL FileName
        Call objSrvHTTP.Open("GET", strUrl & "/" & aryStrings(1) , False )
        if Err.Number <> 0 then
          Wscript.Echo Err.Description
          Wscript.Echo strUrl & "/" & aryStrings(1)
          Wscript.Quit
        end if
        
        objSrvHTTP.Send
        if Err.Number <> 0 then
          Wscript.Echo Err.Description
          Wscript.Quit
        end if
        
        Stream.Open
        Stream.Type = 1 ' Binary
        Stream.Write objSrvHTTP.responseBody
        Stream.SaveToFile strFile, 2
        Stream.Close
      End If
      
    end if
  Loop
End If
on error goto 0

objFile.Close
Set objFile = Nothing
Set objFso = Nothing
Set objFsoChk = Nothing

iMsg = MsgBox("Get File(s) Completed!", vbInformation + vbOKOnly ,"FlashAir Get File(s)")


ブログ一覧 | 家電品 | 趣味
Posted at 2012/03/22 17:04:50

イイね!0件



タグ

今、あなたにおすすめ

ブログ人気記事

冬が来る前に・・・・・・
らきあ258さん

TECH-Mサーキットエクスペリエ ...
TECH-Mさん

【シェアスタイル】当選者発表!5名 ...
株式会社シェアスタイルさん

【i-DMs】ファンミーティングに ...
ワンダートレジャーさん

☀️祝・みんカラ歴11年!
エイジマンさん

『#ゼロリバイブで復活』10月の入 ...
シュアラスターさん

この記事へのコメント

コメントはありません。
現在価格を調べてみる

おすすめアイテム

 
 

プロフィール

「何かがおかしい!? http://cvw.jp/b/136969/42158042/
何シテル?   11/07 07:32
みなさん、仲よく♪
みんカラ新規会員登録

ユーザー内検索

<< 2018/11 >>

    123
45678910
11121314151617
18192021222324
252627282930 

リンク・クリップ

メーターを全部バラしてみた! 
カテゴリ:その他(カテゴリ未設定)
2016/04/13 08:59:06

お友達




ぉ気楽♪ぉ気軽♪ょろピク~☆彡♪





39 人のお友達がいます
^^b えいぷ^^b えいぷ * 又サブ又サブ *
GGsatoshiGGsatoshi くに♪くに♪
クールベール”coolverre”クールベール”coolverre”みんカラ公認 asudaiasudai

ファン

6 人のファンがいます

愛車一覧

スズキ アルトエコ レッド スコルピオ2号 (スズキ アルトエコ)
ZLBフェニックス レッド パール×Z2S シルキーシルバーメタリック ツートン。 アル ...
スズキ Kei HN22Sヶィちゃん (スズキ Kei)
9型βターボ5MT.2WDです。
日産 セレナ 日産 セレナ
C25モデル末期で購入。
スズキ ワゴンR MC22SわごにゃんSWT (スズキ ワゴンR)
4型のЯЯ-SWTです。
ヘルプ利用規約サイトマップ
©2018 Carview Corporation All Rights Reserved.