ソニーのウォークマン(WALKMAN) NW-X1060(NW-X1000シリーズ) では、フォルダ単位での再生・管理ができません。
MP3のタグ情報(アーティスト名、アルバム名)単位での管理、再生のみ対応しています。
そこで、「アーティスト名」に「フォルダパス名」をセットすることで、フォルダ単位で管理・再生できるスクリプトを作ってみました。
※ バージョン1.10(2009年11月26日)アップグレードすると、フォルダ検索・再生に対応しています。
H:\MUSIC>Regsvr32 cddbcontrol.dll
HKEY_CLASSES_ROOT\CDDBControl.CddbID3Tag
※ DLLをレジストリに登録する場合には、「管理者権限」モードで実行する必要があります。
Option Explicit ' ファイルを表示するフォルダを指定 Private Const TARGETFOLDER = "." Call Main() WScript.Quit 0 ' メイン関数 Sub Main() Dim objFS, objFolder, objId3 ' FileSystemObject オブジェクトを作成する Set objFS = CreateObject("Scripting.FileSystemObject") ' CddbID3Tag オブジェクトを作成する Set objId3 = CreateObject("CDDBControl.CddbID3Tag") ' 指定フォルダ情報を取得する Set objFolder = objFS.GetFolder( TARGETFOLDER ) Call FindFilePathAll(objFolder, objId3) Set objFS = Nothing Set objId3 = Nothing End Sub ' 全フォルダのファイルを検索する Sub FindFilePathAll(ByVal objFolder, ByVal objId3) Dim objFile, files, subfolders, objSub Set files = objFolder.Files ' フォルダ中のファイル毎に処理を行う For Each objFile In files Call EditTagOfMP3(objFile, objId3) Next ' サブフォルダに対して再帰処理 Set subfolders = objFolder.SubFolders For Each objSub In subfolders Call FindFilePathAll(objSub, objId3) Next End Sub ' MP3のタグ情報を編集する Sub EditTagOfMP3(ByVal objFile, ByVal objId3) ' フォルダ中の mp3 ファイルだけを取得する If LCase(Right(objFile.Name, 4)) = ".mp3" Then objId3.LoadFromFile objFile.Path, False objId3.Clear ' アルバム名にファイルパスを入力する objId3.Album = Left(objFile.Path, _ Len(objFile.Path) - Len(objFile.Name)) objId3.Commit End If End Sub
50行程度のスクリプトなので、容易に理解できると思います。各自で好きなようにカスタマイズして利用してください。