連番ファイルから規則的に抽出

ネタに詰まってたところに、id:STARLESS氏の

0001 ,0004 ,0007〜


みたいな感じで2枚飛ばしで連番BMPファイルを抽出すればいい(コレも俺の経験則だが)。
しかしこれが面倒臭い。
今日の『勇者ライディーン』OP切り出しが現時点で一番長くて400コマ以上ある。
つまり1,200枚以上の連番BMPファイルから2枚飛ばしでコマになるBMPファイルを抽出したのだ。
途中で、ナンで俺こんなコトやってんだろ、って思っちゃうじゃん!
マジで連番ファイルから規則的にファイルを抽出できるフリーソフトってないですかね?


という発言を読んだ。
レダ


たしか…そんなソフトがあったような気はする。
とはいえ、僕ならかなり手抜きするだろうな…
記憶を頼りに探すのも一苦労だし、ちゃちゃっと片付けられるし。
コマンドプロンプトの copy コマンドを羅列して、一気に別フォルダへコピーするとか。
一応、ファイル名には規則性があるので、とりあえず Excel あたりで必要なファイル名を羅列してしまおう。


〜やりかた〜
Excelには、1 4 と二つ飛ばしでセルに入力したあと、セルを選択してドラッグすると、その離れた数の分ずつステップアップする。
ドラッグする場所は、選択されている範囲の右下に、太い点となっている場所であることに注意してほしい。
まれに同じ数字が繰り返されることがあるけれど、その場合は Ctrl キーを押しながらドラッグすれば上記の挙動に変わる…ハズ。
img1


で、隣のセルに「="copy "&B1&" c:\work"」とか書いて、対象数分コピーするんだ。
もちろん、c:\work というのは環境とか好みで書き換えてほしい。
img2


一応、コマンド部分だけ選択しておく。
img3


それを適当なテキストファイルにコピーして、拡張子を .bat もしくは .cmd で保存する。
今回の例の場合は、画像ファイルのあるフォルダにテキストファイル(というかバッチファイル)を置くこと。
パスを通してないので、画像ファイルが無い旨のメッセージが表示されるだけで、コピーされないから。


で、そのファイルはダブルクリックで実行してあげればファイルの間引きが完了する。
img4
おっと…今回例題として作った画像は、コマンドがmv(移動)になってるや(^_^;
単純に copy にすれば、移動ではなくてコピーになるので修正しないw
また、移動先ディレクトリが存在しない場合もエラーになるので、ちゃんと存在するディレクトリを指定する。


HDDが満杯でコピーしきれない場合は、応用で削除コマンド(del とか eraseとか)で、不要なファイルを削除していく方法でもいい。


慣れれば間引きに3分も掛からないんじゃないかな。
例を作るためにPrintScreenを撮ったりとかしたから、時間が計測できなかったけど。


今回の記述にあたって、参考にされるのはありがたいです。
でも、責任は一切持ちませんので、ご注意をば。
※ delコマンドで重要なファイルを削除しないように、対象だけはチェックしてくださいな。


STARLESS氏だけでなくて、いろいろな方から読まれることがあるので…手抜きながらもくどくど書いてみた。
分かりやすければ幸せになれそうなんだけどねぇ…
どうだろう?


それと…書き終わってから思った。
1番目に書いたファイル名の列記…べつにコマンドでも良かったんじゃないかなって。
セル右下のドラッグによるコピーって、数値が規則性に沿って増えたり減ったりするんだよね…
すぐに思いつくままに書いたから仕方ないけど、もうちょっと考えれば手間が減るなぁ。反省。