◆コマンドラインテンプレート

情報

作者名:五十六
引用元:なし

概要

コマンドラインにファイルが投げられた時(実行ファイルにファイルやフォルダをD&Dされた時とか)用のテンプレートです。
色んなモードがあります。

例えば、音楽プレーヤーだったら、モードDの対応拡張子「mp3,mp4,wma」とか。
最終的に残る配列は「コマンドライン」です。

本体

#-----------------------------------------------------------------------
#コマンドラインテンプレート
#-----------------------------------------------------------------------
コマンドラインモード=「A」。
コマンドライン階層オプション=「5」。
//A ファイル、フォルダそのまま(存在するもの)
//B ファイルのみ
//C フォルダのみ
//D ファイルのみ(1階層下までのファイルも展開)
//E ファイルのみ(全部の下階層のファイルも展開)
//F ファイルのみ({階層オプション}N階層下までのファイルも展開)
//G フォルダのみ(全部の下階層のフォルダも取得)
//H フォルダのみ(1階層下のフォルダも取得)
//I フォルダのみ({階層オプション}N階層下のフォルダも取得)

#-----------------------------------------------------------------------
//拡張子選別
//使えるモードはA、B、D、E、Fのみ (Aはファイルにだけ適用)
//大文字小文字は区別せず(png=PNG=Pngとして扱う)

コマンドライン対応拡張子=「全部」。//「」でも同じ
#コマンドライン対応拡張子=「jpeg,jpg,gif,png」。
#コマンドライン対応拡張子=「mp3,mp4,wav,wma」。
#コマンドライン対応拡張子=「avi,mp4」。

#-----------------------------------------------------------------------
#-----------------------------------------------------------------------
コマンドラインの0を配列削除。

A=コマンドライン。コマンドライン=空。
Aで反復
  もし、対象のフォルダ存在=はいならば、(対象の終端パス追加)をコマンドラインに配列追加。
  違えば、対象をコマンドラインに配列追加。

A=コマンドライン。コマンドライン=空。
コマンドライン拡張子スイッチ=オフ。

コマンドラインモードで条件分岐
  「A」ならば
    コマンドライン対応拡張子=コマンドライン対応拡張子を「,」で区切る。
    Aで反復、もし、対象が存在=はいならば
      もし、対象のフォルダ存在=はいならば
        対象をコマンドラインに配列追加。
      違えば
        もし、(コマンドライン対応拡張子≠空)かつ(コマンドライン対応拡張子≠「全部」)ならば
          B=0。C=対象。
          コマンドライン対応拡張子で反復
            もし、対象=空ならば、続ける。
            もし、((Cから拡張子抽出)を小文字変換)=(「.」&(対象を小文字変換))ならば、B=1。抜ける。
          もし、B=1ならば、Cをコマンドラインに配列追加。
        違えば、対象をコマンドラインに配列追加。

  「B」ならば
    コマンドライン拡張子スイッチ=オン。
    Aで反復、もし、(対象が存在=はい)かつ(対象のフォルダ存在=いいえ)ならば、対象をコマンドラインに配列追加。
  「C」ならば
    Aで反復、もし、(対象のフォルダ存在=はい)ならば、(対象の終端パス追加)をコマンドラインに配列追加。
  「D」ならば
    コマンドライン拡張子スイッチ=オン。
    Aで反復
      もし、(対象の存在=はい)ならば
        もし、(対象のフォルダ存在=はい)ならば、B=対象の絶対パスファイル列挙。もし、B≠空ならば、Bで反復、対象をコマンドラインに配列追加。
        違えば、対象をコマンドラインに配列追加。
  「E」ならば
    コマンドライン拡張子スイッチ=オン。
    もし、(対象の存在=はい)ならば
      もし、(対象のフォルダ存在=はい)ならば、B=対象の全ファイル列挙。もし、B≠空ならば、Bで反復、対象をコマンドラインに配列追加。
      違えば、対象をコマンドラインに配列追加。
  
  「F」ならば
    コマンドライン拡張子スイッチ=オン。
    E=A。
    1の間
      もし、Aの配列要素数=0ならば、抜ける。
      B=A[0]。Aの0を配列削除。
      もし、(Bの存在=はい)ならば
        もし、(Bのフォルダ存在=はい)ならば
          D=B。(コマンドライン階層オプション)回、D=Dの一階層上。
          もし、(D≠空)または(Eの1からDを配列検索<0)ならば
            C=Bの絶対パスファイル列挙。もし、C≠空ならば、Cで反復、対象をAに配列追加。//対象をコマンドラインに配列追加。
            F=Bの絶対パスフォルダ列挙。もし、F≠空ならば、Fで反復、対象をAに配列追加。
        違えば、Bをコマンドラインに配列追加。
  「G」ならば
    Aで反復
      もし、(対象のフォルダ存在=はい)ならば
        B=対象の全フォルダ列挙。Bで反復、対象をコマンドラインに配列追加。#(対象の終端パス追加)をコマンドラインに配列追加。
        
  「H」ならば
    Aで反復
      もし、(対象のフォルダ存在=はい)ならば
        対象をコマンドラインに配列追加。
        B=対象の絶対パスフォルダ列挙。もし、B≠空ならば、Bで反復、対象をコマンドラインに配列追加。
  「I」ならば
    E=A。
    1の間
      もし、Aの配列要素数=0ならば、抜ける。
      B=A[0]。Aの0を配列削除。
      もし、(Bのフォルダ存在=はい)ならば
        D=B。(コマンドライン階層オプション)回、D=Dの一階層上。
        もし、(D≠空)または(Eの1からDを配列検索<0)ならば
          F=Bの絶対パスフォルダ列挙。もし、F≠空ならば、Fで反復、対象をAに配列追加。
        違えば、Bをコマンドラインに配列追加。
  違えば、「モードが不明です。」と言う。終わり。
●一階層上(Sの|Sを|Sから)
  S=「..\」をSで相対パス展開。S=Sの終端パス追加。戻る。
●絶対パスファイル列挙({文字列=?}Sの|Sを|Sで)
  M=Sからファイル名抽出。S=Sからパス抽出。A=Sの終端パス追加。B=A&Mのファイル列挙。C=空。
  Bで反復、(A&対象)をCに配列追加。
  Cで戻る。
●絶対パスフォルダ列挙({文字列=?}Sの|Sを|Sで)
  A=Sの終端パス追加。B=Sのフォルダ列挙。C=空。
  Bで反復、(A&対象&「\」)をCに配列追加。
  Cで戻る。
#-----------------------------------------------------------------------
もし、コマンドライン拡張子スイッチ=オンならば
  もし、(コマンドライン対応拡張子≠空)かつ(コマンドライン対応拡張子≠「全部」)ならば
    A=コマンドライン。コマンドライン=空。コマンドライン対応拡張子=コマンドライン対応拡張子を「,」で区切る。
    Aで反復
      B=0。C=対象。
      コマンドライン対応拡張子で反復
        もし、対象=空ならば、続ける。
        もし、((Cから拡張子抽出)を小文字変換)=(「.」&(対象を小文字変換))ならば、B=1。抜ける。
      もし、B=1ならば、Cをコマンドラインに配列追加。
#-----------------------------------------------------------------------
#-----------------------------------------------------------------------

//サンプルプログラム

コマンドラインを言う。


名前:
コメント:


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年05月31日 17:27
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。