- ベストアンサー
MP3ファイルを自動でフォルダ分けするツール?
経緯が長いので省略しますがうっかりデータ整理に根を詰めていたせいか些細な操作ミスで何年も掛けて保存していたMP3ファイルが入ったHDDを初期化してしまいました。(この部分は質問内容に含みません) シェアウェアのHDD復元ソフトを使って一週間近く掛けてなんとか復元したのですがファイルは復元出来たもののアルバム名のフォルダは復元出来ずルートフォルダに現在40000曲ほど散らかっている状況です Windowsの仕様なのでしょうがファイル数が同フォルダ内に多く格納していると動作が異様に重くなり手作業で一つ一つフォルダを作ってという作業すらかなりウエイトが掛かった状態で恐ろしく待たされます。 物理メモリをガッツリ増設すれば多少は緩和されるかもしれませんが体感的な緩和すらされないかもしれません。 そんな都合の良いツールがあるとは思えませんがIDタグの何か(アーティスト名やアルバム名)から自動でMP3ファイルをフォルダ作成して格納してくれるような、または現在の手作業を緩和させてくれるようなツールはありますでしょうか?当方Windows10(64Bit)です。 フリーウェア、シェアウェア問いません。 ※たまに質問内容から逸脱した明らかな「悪意のあるアドバイスに偽装したお節介マウントコメント」など頂く事がありますが当方は間に合っております。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば、ファイルの「プロパティ」の「詳細」の中の「アルバムのアーティスト」の名前のフォルダを作って、そこへファイルを移動するようなバッチファイルなら、 mp3ファイルがある場所で以下をバッチファイルとして実行。バッチファイルの文字コードは、ANSI か Shift_JIS 相当で。(動作保証はしません。まず、数個で試してください。) powershell -c "'#'+(gc '%~f0' -Raw) | iex" &exit/b $sh=New-Object -Com Shell.Application $FLD=$sh.namespace('C:\') $a='アルバムのアーティスト' $Pro=foreach($b in $a){ (0..330 | % { '{0}:{1}' -f $_,$FLD.GetDetailsOf($null,$_) } | ? { $_ -match "\d+:$b$" }).Split(':')[0] } ls -File *.mp3 | % { $FLD=$sh.namespace($_.Directory.FullName) $File=$FLD.parseName($_.Name) $P=$FLD.GetDetailsOf($File,$Pro) if(!(Test-Path "$P\")){md $P >$null} mv $_ $P }
お礼