《 ファイル一括作業 》 引数設定以下の説明 「引数」(対象) 作業の対象となるフォルダまたはファイル。 起動時の引数として与えるか、 その後には、パスを入力する(入力して Enter 又は隣のボタンを押す)か、 他に、フォルダ選択のダイアログBOX か、 アイコンを投入するActiveX部品を通して得る。 「追加」のチェックは、起動の後で引数を加える時、 チェックあれば、すでにある引数(対象のリスト)に追加し、 無ければ、引数リストを更新(一新)する (以前のは破棄)。 パスの入力欄では、相対パスや環境変数でも指定できる。その基準となる 現在の場所 CurrentDirectory は、右端のボタンから変更可能。 ・引数を加える時、重複してないかどうかのチェックはしてない。 ・引数に、ファイルを与える事も普通に出来るが、 これより下段の、引数に対する設定の対象は全て、フォルダである。 直接の引数であるファイルには、これらの設定は適用されない。 ・引数にショートカットファイルを与えた場合、ファイル自身でなく、 リンク先が引数となる(無設定時)。これは初期時の設定で変更可能。 引数(作業対象)のリストでは、 各左端のチェックで、作業対象として選択したり、外したりできる。 「ファイル名による取捨」「フォルダ名による取捨」 名前をパターンで取捨する為の、正規表現の入力欄。 引数フォルダの中のファイルまたはサブフォルダの名前を、 このパターンにマッチしているかテストし、 作業の対象とする(選択パターン)か、 作業の対象から外す(忌避パターン)かする。 ・パターンが空の場合は、全て選択する (何も排除しない)。 ・直接の引数であるファイルやフォルダの名前は、これらのパターンに よってテストされない。( 直接の引数は、チェックで取捨する。) ・引数のフォルダの中にあるショートカットファイルは、それ自身の名前に よってテストされる。リンク先の名前ではない。 「フォルダ名による取捨」は、直接の引数であるフォルダの中に含まれる サブフォルダの名前をテストし、選択するか外すかする。例えば、 選択パターンに一致すれば、そのサブフォルダを開き、中で作業する。 ファイルが作業対象である時は、このパターンで選択されたフォルダの 中にあるファイルが対象になる。 除外されたフォルダの中にあるなら対象にならない。 そのフォルダは開かず、それよりは降りていかないので、たとえ その奥で、選択される名を持つフォルダがあったとしても、 中にあるファイルは対象にならない。 ・サブ(下位)フォルダを開く設定( 下降限度が 0 以外)である場合に、 このフォルダ名の選択/忌避パターンは、使われる。 ( フォルダ自体が作業対象である場合、個別実際の作業では、 下降限度の数を 1 加算している場合がある。) ・フォルダが作業対象である時、そのフォルダ自身をパターンで選別 したい時は、直接に作業用関数の中でした方がいいかも知れない。 ここでは、そのフォルダへ行き着く前に、同じパターンで上位 フォルダが選別され、除外されると下へ降りていかない。 引数フォルダの直接のサブフォルダのみが対象で、フォルダの 展開が不要なら、問題ない。 「下降限度」 引数フォルダのサブフォルダを開くかどうか、どこまで開くかの設定。 降りる(開く)深さ・レベルの限度を示す数を指定。 0 は、下位(サブ)フォルダを開かない。(列挙もしない) 1 で直下の下位フォルダを(列挙して)開くが、それ以下は降りない。 空か -1 なら限度なしに中のフォルダを開いて降りる。 ・直接の引数であるフォルダは、必ず開き、ファイルが作業対象なら、 この中に直接含まれるファイルに対して作業を行う。だから、 下降限度が 0 の時は、直下のファイルのみ対象となる。 下降限度が 1 なら、直下のサブフォルダ中のファイルも、対象となる。 ・作業対象がフォルダの場合、 下降限度 0 では、サブフォルダを列挙しない(作業対象でない)。 0 は引数フォルダ自身で、それに何かしようとしない限り、 何も起きない。 下降限度 1 は、直下のサブフォルダを列挙し、作業を呼び出す。 但し、個別実際の作業では、対象がフォルダの場合に、 下降限度に、1 を加え、入力した下降限度 0 にて、 直下サブフォルダの作業を行うように変更しているものがある。 「逆順呼出」チェック フォルダ引数のサブフォルダを指定の限度まで降りていって、 そこから戻る時に、ファイルまたはフォルダに対して作業を行う。 ( 通常は、降りながら作業を行う)。 つまり深い所から浅い所へ向かって作業する。 これは例えば、フォルダの名前変更で、それより下のパスが変わってしまう ような処理を行う場合には指定が必要。 「ソート」(名前による並べ替え) フォルダ引数のファイルまたはサブフォルダに対する作業を行う前に、 その呼び出す順序を並び替える。( それ自体にはあまり意味がないと 思われるが、結果リストを見る時には有用であるかも知れない。) ------------------------------------------------------------ [名前テスト]ボタン 「名前をパターンで取捨」した結果を試す。 チェック欄「パス」に、チェックあれば、対象がファイルの時の名前テストの 結果表示を パスに、チェックなければ ファイル名のみにする。 [実行テスト]ボタン テストを示すグローバルフラグを立てて実行する。 本当にテストかどうかは、(個々のファイルやフォルダに作業を行う為に) 呼び出される作業用の関数を、どう書いたかによる。 [実行テスト] と [実行] では、この同じ関数を呼び出していて、 違いは、このフラグの有無のみ。 「中止可能」チェック 作業中途で [中止]ボタンを押す事で、中止できるような仕方で実行する。 ------------------------------------------------------------ (※ このスクリプトは全般的に、テスト・検証不足である。
《 作業用スクリプトの指定 》 「スクリプト」 作業用ファイルを指定。 [読込] ボタンを押すと、そのスクリプトファイルが取り込まれる。 「作業用ファイル」 この中に、個々のファイルまたはフォルダに対して 作業をする関数などを書く。( 参考「作業.js」) 新しいスクリプト要素を作って取り込んでいるので、 拡張子のあるスクリプトファイルでないとならない。 ( テキストをスクリプトとして実行する(eval等による)取り込み方だと、 var や function が、実行されている関数の中のスコープに 捕まってしまい、役に立たなくなる為。 IE では、setTimeout も、グローバルスコープでなく、 無名関数の中で実行され使えない。) 相対パスの場合の基準は、このHTMLファイルのある場所。 (このパスは、スクリプト要素の src に書かれるので。) reload せずに追加で取り込むと、同じ名の関数や変数は上書きされるが、 そうでないものは残ったままある。 [編集]ボタン 作業用ファイルを、エディタで開く。 場合により、CurrentDirectory が、このHTMLファイルの場所でないことが あるが、その場合相対パスだと、エディタで開く事は失敗する。 ( エディタにはこちらの CurrentDirectory が引き継がれて 相対パスが解決される。) 隣の小ボタンで、CurrentDirectory の確認と変更が可能。