BMSが増えすぎてさすがに邪魔になってきた
BMS保存ディレクトリのプロパティより
サイズ: | 46.6 GB (50,107,123,488 バイト) |
ディスク上のサイズ: | 48.0 GB (51,612,114,944 バイト) |
内容: | ファイル数: 603,976、フォルダ数: 2,239 |
一応取捨選択して保存してはいるもののいつの間にかこんな量に。
ごっそり消せればいいんだけれども、もうコレクション的な物になりつつあるので、今更惜しくてそれも出来ないのです
じゃあ変換しよう
OGGを扱うのにもう十分なスペックになったし、まとめてOGGへ移行しようと前々から思ってはいたものの、ファイル数があまりに多すぎて、対象指定中もしくはエンコード途中で変換ソフトが止まるという問題が発生。
数本試したんだけどどれも無駄でした
仕方ないので全部oggencに直接渡すことに。
以下に超適当ソース。perl。
$finddir='D:/Games/bmsdatas/original/'; $oggencpath='D:/datas/programs/pl/bms/oggenc2.exe'; #-------------------------------- use File::Find; $total=0; #総処理数 $failed=0; #総失敗数 find(sub{ my $curpath = $File::Find::name; #処理ファイル名 return unless($curpath =~ /\.wav$/); #指定拡張子以外無視 if( system("$oggencpath -q4 \"$curpath\"") ){ #変換 $failed++; }else{ $total++; unlink "$curpath"; #削除 } }, "$finddir"); print "$total files converted.\n"; print "failed : $failed\n" if $failed; <STDIN>;
結果
大雑把に処理対象のディレクトリを二つに分けて、Core2E6300(1.86G*2)でそれぞれ同時に実行。
二つに分けたのは、一つで全部やると片方のCPUが働かないから。
所要時間 | 16時間くらい |
処理ファイル数 | 409915 |
失敗ファイル数 | 26 |
サイズ | 23.7 GB (25,493,153,106 バイト) |
ディスク上のサイズ | 25.0 GB (26,940,035,072 バイト) |
約24.5GB(48%)減少となかなかの結果に。
失敗したファイルは、oggencサポート外のwavフォーマットなためらしい