サイズの違う複数のファイルを指定したサイズに広げて連結したバイナリーを作る
複数のファイルを連結して1個のファイルにして扱う事はよくあるが、データそのままを連結するのではなく、一定サイズで間隔をあけて連結したいときがある。例えば、
・光記録媒体などで、セクターをまたぐように配置すると、ライブラリー内部で2度読みを行うため、高速化のために、配置場所はかならずセクタートップになるように連結したい。
・光記録媒体などで、媒体上の配置位置で読み込み速度に差がある場合、高速化のために狙った位置に頻繁に使用するデータを配置したい。そのために配置位置をコントロールしやすいようにセクター単位で連結したい。
・特殊なDMA転送の都合、データサイズが指定アライメント単位でないといけない。データをのまま連結すると、読み込んだ後にその調整をしないといけないため、連結時点で指定サイズにしておきたい。
・データが頻繁に変更されてサイズが変動するが、小修整で配置位置が変わらないように、あらかじめ連結時に隙間があるようにしておきたい。
・連結ファイルをリストで指定したく、さらに連結後の位置情報もほしい。
・作業の都合でダミーの巨大なファイルがほしい時、小さいファイルをもとに、ちょっと巨大なファイルを作りたい。
などなど、色々なケースで便利かと思います。
バッチファイル中からの使用を考えていますので、コマンドラインで動きます。
説明:
use:FixSizeCat listfile outfile ofsfile [size]
連結するファイルを指定サイズ(size)の倍数に拡張しながら
リスト(listfile)順に連結したファイル(outfile)を出力します。
連結情報はテキスト(ofsfile)に出力されます。
listfile:リスト(内容は下記参照)。
outfile:出力ファイル。
ofsfile:連結情報ファイル。
size:単位にするサイズ(省略時は2048byte)。
注意事項
※アライメントについては考慮してない。
※size=2048byte時、ファイルは1000byte⇒2048byte、3000byte⇒4096byte。
※全角フォルダー名やファイル名に対応していません。sjisならなんとか。
※4Gbyte以上のファイルは無理かも。
listfileの例
sample001.bin
.
sample100.bin
ソフト名: | FixSizeCat.EXE |
---|---|
動作OS: | Windows 7/Vista/XP MS-DOS |
機種: | PC-98 |
種類: | フリーソフト |
作者: | Tsuun |