| ||
| ||
| ||
前ページへ [ステップアップ WSHへ戻る] |
Level.15(最終回) フォルダ再帰探索の応用例 | ||||||||
検索スクリプトについては前回で終了し、最終回となるLevel15では何かと使える再帰探索の応用例をご紹介します。
■ 指定のフォルダ以下全てのファイル(フォルダ)数と総容量(サイズ)を表示するこのレベルの趣旨としましては、フォルダを階層的に辿っていく再帰処理の骨子をなるべく簡単なロジックで示し、今後、似たようなスクリプトを作る上でのベースとなるような簡素なスクリプトを提供することです。 かつ、ちょっと使えるスクリプトだったら、尚いいですよね(...自分で言っておいてなんですが、む、難しい)。 そこで考えたのが、表題にあります「指定のフォルダ以下全てのファイル数と総容量を表示する」スクリプトです。 しかーし。これってフォルダを右クリックしてプロパティを表示すると出てくるんですよねぇ。まぁ、(私は)気にしない、気にしない。。。(汗
■ いきなりおまけ題材が決まって、さぁスクリプト作成とばかりに、Level.14のスクリプトを修正して作ってしまったのですが、せっかくメインロジックが簡素になっても、HTAだけにユーザーインタフェース部分の記載が残ってしまって、今一つ全体がスッキリしない状態となってしまいました。 そこで、これは不採用にしたんですが、そのままゴミ箱に捨ててしまうのももったいないので、おまけとして提供させて頂きたいと思います。
使い方は見ていただければ分かると思いますが、level15.htaを起動(ダブルクリック)して、フォルダ名に調査したいフォルダを書いて、調査開始ボタンをクリック、これだけです。調査結果として、ファイル数、フォルダ数、ファイル総容量(バイト)が表示されます。
■ 後から本題さて、再帰処理自体の説明についてはLevel.10で済ませてしまっていますから、ここでは、まず最初にスクリプトを提示して、後から簡単な説明をしたいと思います。
前半の1〜20行目がフォルダ探索関数、後半の21〜38行目がメインロジックとなっており、後半のメインロジックの部分については、オブジェクトの定義、カウンタのクリア、フォルダ探索処理の呼び出し、結果表示と特にこのレベルでの説明は不要かと思います。 前半部分についても、今までの検索処理をより簡素にした形となっているだけです。
と、至って簡単ですね。
■ 実行してみるでは、コマンドラインから実行して見ましょう。
と、こんな感じになります。 このレベルは再帰処理のベースとなるようなスクリプトを提示することが目的でしたので、処理はとてもシンプルです(3つのカウンタへの加算処理を3行書いているだけ)。よって、このスクリプトをベースに新たなスクリプトを作成する場合には、3行の加算処理を削除して、代わりに欲しい機能を記述して行けば良いのでしょう。 さて、これでこのレベルも終了です。そして、今講習もこれで全て終了となります。 冒頭でも述べましたが、これら一連の資料は、Tech-Ezo 2003 Round 23「おサルなWSH」と題した、北海道の勉強会で使った資料を元に、口答説明した部分を大幅に加筆したものです。 この時に使用した3部構成の資料のうち、「Session.1 うんちくはほどほどにしてとりあえず動かして見よう」と、この「Session.2 使えそうなスクリプトを作って見よう」は、ステップアップWSHから、また良く使いそうなTips集として逆引きリファレンスを、逆引きWSHサンプル集として纏めました。微力ながら今後のスクリプトライフの一助になれば幸いです。 最後に、この資料のベースとなったTech-Ezoの勉強会はテーマもさまざまで、かつ気軽に参加できるものです。いわゆる手弁当を持ち寄って行うような「手作り」の参加者本意の集まりですので、近くで開催される時には是非お寄り下さい。お待ちしております。 |
前ページへ [ステップアップ WSHへ戻る] | |
※全ては自己責任でお願いします。 ※当サイトに関するご連絡は tomomo_c@hotmail.com までお願いします。 |
最終更新日 2004.11.2 |