ところで、shortcut_replica.htaなんてスクリプトを作った理由ですが、最近、HTAなるものがあることを知って、このHTAを使って、何かを作りたくなっていました。
というよりかは、趣味にビデオ編集作業の中で、一番面倒なところの効率化をしようと考えている一貫の中で作ってみました。これまでの苦労の記録も含めて、ブログに記録しておこう、、、。)
撮り溜まってしまっている子供たちのビデオを編集しているのですが、このビデオ編集をするときに、まず、T1でとった動画のファイルを日付と時間が分かるようにリネームしておいて、で、編集ソフト(SourceNextのCyberlink PowerDirector3)で、まずは、内容を確認しながら、ストーリボードを作って、それから、タイムラインで、トランジションと、ビデオ音声の音量を調整して、そのあと、最初と最後の調整をして、最後に、タイトルで、説明をつけたりします。この説明をつけるときに、ファイル名に日付と時間が入っていると、便利なのです。
で、子供が2人いて、あるイベント日のビデオであれば、問題ないのですが、一番大変なのが、普段の日常を、ある程度まとめるビデオを作るときに、撮った生のビデオの中をチェックする、一番、大変なところです。
1人目の子供のときには、編集が済んだイベント以外で取りこぼしたデータを、チェックするのは、大変ですが、しょうがないです。で、2人目の子供ができたときに、下の子の日常をテーマにしたビデオの中に、ついでに、家族の記録になるように、上の子のものを入れてみたのですが、どうも、ビデオの時間はながくなるし、それに、なんだか、内容が発散して、やはり、下の子の日常をテーマにしたら、下の子だけにした方が良さそうです。で、次は、ビデオをチェックしながら、これは、使えそうというデータがあったら、まず、ショートカットをデスクトップに作っておいて、それをまとめておくようにしました。
最初は、手作業で、.lnkファイルのプロパティ(Alt+Enter)のリンク先のフィールドをコピーして、秀丸エディタ上で、バッチファイルを作って、ファイルの複製を一箇所に集めるようにしました。(編集が終わったら、外付けHDDに退避してしまうし、ビデオ編集ソフトに、.LNKを指定しても、リンクを追ってくれないので、結局、人間が、.LNKのプロパティのリンク先のフィールドをコピーして、インポートさせるのを繰り返すので、バッチで、一つのフォルダに集めた方が、結局、楽。)
これらの一連の作業の中で、ファイルのリネームに関しては、
Flexible Renamer Version 7.3なるものを見つけて、ちょっと、調査してみようと思っています。.LNKのリンク先のファイルをコピーするツールの方が、どうしても、見つからなくて、で、最近、WSHを触るようになっていたところに、ショートカット関連のオブジェクトもあったので、WSHで、すぐに作れそうと思って、どうせならと、勉強がてら、HTAで作ってみました。
ちなみに、ファイルのリネームについては、これまでは、以下のように、少しだけ、自動化処理をしていました。(記念の記録)
(1) 秀丸エディタの「プログラムの実行(X)」のコマンドヒストリをベースに、以下のコマンドを実行。
『cmd /c dir "D:\....\MOV*.MPG" > c:\temp\1.bat』
(D:\....の部分を、エクスプローラのパスからコピーしたものに置き換えていた。)
(2) 秀丸エディタで、c:\temp\1.batを開いて、秀丸エディタで、例えば、以下のように、バッチファイルを作成。
┌───────────────────────────────────────┐
│ ドライブ D のボリューム ラベルがありません。 │
│ ボリューム シリアル番号は ********* です │
│ │
│ D:\xxxx\デジカメ\2007-07-15 のディレクトリ │
│ │
│ 2007/07/14 11:59 5,071,742 MOV01869.MPG │
│ 2007/07/14 12:09 14,882,347 MOV01872.MPG │
│ 2007/07/14 12:22 29,434,167 MOV01873.MPG │
│ 2007/07/14 12:43 19,994,866 MOV01874.MPG │
│ 2007/07/14 12:46 25,925,170 MOV01878.MPG │
│ 2007/07/14 15:42 19,575,050 MOV01879.MPG │
│ 2007/07/14 15:43 19,178,786 MOV01880.MPG │
│ 7 個のファイル 134,062,128 バイト │
│ 0 個のディレクトリ ***************** バイトの空き領域 │
│ │
└───────────────────────────────────────┘
↓
┌────────────────────────┐
│ d: │
│ cd "D:\xxxx\デジカメ\2007-07-15" │
│ │
│ ren MOV01869.MPG 20070714_1159_MOV01869.MPG │
│ ren MOV01872.MPG 20070714_1209_MOV01872.MPG │
│ ren MOV01873.MPG 20070714_1222_MOV01873.MPG │
│ ren MOV01874.MPG 20070714_1243_MOV01874.MPG │
│ ren MOV01878.MPG 20070714_1246_MOV01878.MPG │
│ ren MOV01879.MPG 20070714_1542_MOV01879.MPG │
│ ren MOV01880.MPG 20070714_1543_MOV01880.MPG │
└────────────────────────┘
最初の2行は、手で、編集。
「2007/07/14 11:59 5,071,742 MOV01869.MPG」を「ren MOV01869.MPG 20070714_1159_MOV01869.MPG」に変形するのは、以前、作ったキーボードマクロが保存してあって、以下のようなマクロになっていました。
insert "ren ";
golineend;
wordleft;
wordleft;
insertreturn;
beginsel;
golineend;
copy;
golinetop;
up;
wordright;
paste;
insert " ";
right;
searchdown "/" , regular, nocasesense, hilight;
if( ! result ) beep;
delete;
searchdown "/" , regular, nocasesense, hilight;
if( ! result ) beep;
delete;
searchdown " " , regular, nocasesense, hilight;
if( ! result ) beep;
delete;
delete;
insert "_";
searchdown ":" , regular, nocasesense, hilight;
if( ! result ) beep;
delete;
searchdown " " , regular, nocasesense, hilight;
if( ! result ) beep;
beginsel;
wordright;
golineend;
delete;
insert "_";
delete;
golinetop;
down;
このとき、パッチファイルを見直して、同じファイル名になりそうであれば、名前がぶつからないように、~(1).MPG、~(2).MPGなどに変形する。
(3) この1.batを、秀丸エディタの「プログラムの実行(X)」のコマンドヒストリから選択して、実行。