・「ExecS」で簡単にファイル結合する方法。2011/04/11 13:41

-------------------------------------------------------------
ファイル連続実行ユーティリティー「ExecS」

本体のダウンロードはこちら
マニュアルはこちら
サポート掲示板は当面こちら
-------------------------------------------------------------

ファイル結合とは別のことを考えていたら、簡単に単純分割ファイルを結合する方法を思いついた。
一応「ExecS」同梱の「JoinBatchBuilder」でも同様のことができるのだが、手間が少なくて済む方法だ。

必要条件は、分割ファイルのファイル名が、

hoge.avi.001
hoge.avi.002
hoge.avi.003
|

というように、(元のファイル名)+"."+(連番)という形式になっていること。

で、具体的には

(1)「ExecS」の「設定」で、「001」という拡張子を追加する。
(2)「001」の設定を

 完了条件->アプリ終了
 アプリのパス->なし
 Command->copy /b "%parent_path%\%filename_base%.???" "%parent_path%\%filename_base%"
 Commandの処理方法->CommandをCMD.EXEに渡す

 とする。
(3)拡張子「001」のファイルを「ExecS」にDropして実行する。

「JoinBatchBuilder」では、自分で結合すべきファイルを指定してバッチファイルを作り、そのバッチファイルを「ExecS」で実行するという手順が必要なので、ちょっとだけ手間が少なくて済む。

但し上記の方法では注意すべき点がいくつかある。

(a)「%filename_base%.???」で(ファイル名)+"."+3文字のファイルを
 すべて結合するように指定しているので、同じ形式のファイル名が
 あると、いっしょに結合してしまう。
 (よくあるのは、「000」というファイル)
(b)連番が三桁ではなく、二桁とかの場合は設定を追加する必要がある。
 (二桁の場合は「%filename_base%.??」になる)

ということで、全然万能じゃないわけだが(^_^;、多種の単純分割ファイルが多数のフォルダに存在する場合などは、「001」というファイルを検索して一気に「ExecS」で処理できるので便利かも。

このとき「000」というファイルが存在すると面倒なので、

Command->del "%parent_path%\%filename_base%.000" && copy /b "%parent_path%\%filename_base%.???" "%parent_path%\%filename_base%"

とかにして、「000」というファイルをあらかじめ削除しておくということも簡単にできる。

まあ結局のところは人間がある程度判断して、状況に応じて今回の方法、JoinBatchBuilder、別の簡易版ではない結合ツールを使いわけるということになるんだろうけどね。


------------------------------------------
このブログの本店「木全屋かるた堂」もよろしくです。

・ファーストガンダムのかるた売ってます。
・ファイル整理に便利な自作ツール置いてます。
・写真(コスプレ、ポートレート、動物)公開してます。
------------------------------------------