ForNext
Only Do What Only You Can Do
フォルダ配下のファイルを一括インポート
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
更新日 : 2012.08.11
$global:it = New-Object -ComObject iTunes.Application $global:artist_name = "" $global:album_name = "" $global:truck_name = "" $global:truck_no = 0 #指定したフォルダ配下の曲を一括インポート # \アーティスト名\アルバム名\曲名.wav って感じで整理している ls -rec | select Fullname, Extension, Attributes | where {$_.Attributes -ne 'Directory'} |sort Fullname | foreach {ImportWav($_)} $global:it.Quit function ImportWav($arg) { $args = $arg.fullName.split("\") $artist_offset = $args.length - 3 $album_offset = $args.length - 2 if (($global:artist_name -ne $args[$artist_offset]) -or ($global:album_name -ne $args[$album_offset])) { #アーティスト名かアルバム名が変わった $global:truck_no = 1 } else { #同一のアーティスト・アルバム $global:truck_no++ } #プレイリスト名は "#アーティスト名 - アルバム名" $playlist_name = $args[$artist_offset], " - ", $args[$album_offset] $playList = $global:it.LibrarySource.Playlists.ItemByName($playlist_name) if ($playList -eq $null) { #未登録なら追加 $playList = $global:it.CreatePlayList($playlist_name) } $global:artist_name = $args[$artist_offset] $global:album_name = $args[$album_offset] $global:truck_name = $arg.baseName if ($arg.Extension -eq '.wav') { #wave形式なら変換 $sts = $global:it.ConvertFile($arg.fullName) } elseif ($arg.Extension -eq '.mp3') { #mp3形式なら単に追加 $sts = $playList.AddFile($arg.fullName) } while($sts.InProgress) { Start-Sleep 1 } #タグの編集 foreach ($track in $sts.Tracks) { $track.Artist = $global:artist_name $track.Album = $global:album_name $track.TrackNumber = $global:truck_no $track.Name = $global:truck_name if ($arg.Extension -eq '.wav') { #wave形式なら追加 $playList.AddTrack($track) } } }