YahooMusicStationで便利そうなwsh

その1.

IEから曲名を手に入れて、自動的に連番出力されたmp3を曲名に書き換えてくれるスクリプト
それを元に常駐してくれて、指定フォルダにある連番ファイルを自動的に曲名に書き換えてくれるもの。
その際、ファイル名には「削除」というプレフィクスをつける。
とりあえず、一番の問題であろう、IEから曲情報を取ってくる部分はできた。
あとは、FileSystemObjectでも何でもつかってお好きにどうぞ、という感じだ。

Const TITLE_KEY = "曲名:"
Const CD_KEY    = "CD:"
Const ART_KEY   = "アーティスト:"
Const VAL_KEY   = "title="

Set Shell = CreateObject("Shell.Application")
For i = 0 To Shell.Windows.Count - 1
  sURL = Shell.Windows.item(i).LocationUrl
  If InStr(sURL, "music.yahoo.co.jp") > 0 Then
    sHTML = Shell.Windows.item(i).Document.frames("info").Document.body.innerHTML
    sTitle  = GetKeyVal(sHTML, TITLE_KEY, VAL_KEY)
    sCD     = GetKeyVal(sHTML, CD_KEY,    VAL_KEY)
    sART    = GetKeyVal(sHTML, ART_KEY,   VAL_KEY)
    WScript.Echo sTitle & "," & sCD & "," & sART
  End If
Next

'HTMLより、sTagKeyで指定したタグの内容を取得する
Function GetKeyVal(sHTML, sTagKey, sValKey)
  sKeyIdx = InStr(sHTML, sTagKey)
  sSttIdx = InStr(sKeyIdx, sHTML, sValKey) + Len(sValKey)
  sEndIdx = InStr(sSttIdx, sHTML, ">")
  If sEndIdx > InStr(sSttIdx + 1, sHTML, """") Then sEndIdx = InStr(sSttIdx + 1, sHTML, """")
  GetKeyVal = Mid(sHTML, sSttIdx, sEndIdx - sSttIdx)
  GetKeyVal = Replace(GetKeyVal, """", "")
End Function

その2.

実行すると指定フォルダの一番新しいファイルの「削除」というプレフィクスをはずす。
削除のプレフィクスがついているファイルを削除する。