//標準で同梱されるコマンド(バージョンアップ時に強制上書きされることがあるのでご注意ください)
//有効コマンドIDの範囲:42001～42500
//・「EOF」以降は読み込まないので、末尾に説明を記載しています

42001		---	%CMD_Dir%Export.exe	設定のエクスポート
42002		---	%CMD_Dir%DriveInfo.exe ?NowDir?	ディスク情報
42003	M	NFD	%CMD_Dir%FileNameCp.exe	ファイル名のコピー
42004	M	NFD	%CMD_Dir%FileAttribute.exe	属性変更
42005	M	NFD	%CMD_Dir%FileInfo.exe	ファイル情報
42006	M	NFD	%CMD_Dir%FileExport.exe	ファイル一覧出力
42007	M	NFD	%CMD_Dir%ArcPack.exe	圧縮
42008	M	NF-	%CMD_Dir%ArcUnPack.exe	解凍
42009	M	NF-	%CMD_Dir%MakeSelfExtract.exe	自己解凍ファイルの作成
42010	M	NF-	%CMD_Dir%MakeArchive.exe	自己解凍ファイルの解除
42011		---	%CMD_Dir%ArcDllInfo.exe	書庫DLLの情報
42012	M	NFD	%CMD_Dir%FileRename.exe	拡張リネーム
42013	M	NFD	%CMD_Dir%FileDelete.exe	拡張削除
42014	M	NFD	%CMD_Dir%FileCpMv.exe /c	拡張コピー
42015	M	NFD	%CMD_Dir%FileCpMv.exe /m	拡張移動
42016	M	NFD	%CMD_Dir%FileReproduction.exe	複製の作成
42017	M	N--	%CMD_Dir%MkDir.exe	拡張フォルダ作成
42018	M	N--	%CMD_Dir%FileNewEx.exe	ファイル一括作成
42019	M	NFD	%CMD_Dir%FileShortcut.exe ?NowDir?	拡張ショートカット作成
42020		---	%CMD_Dir%MemInfo.exe	メモリ情報
42021	M	NFD	%CMD_Dir%FileRenameEx.exe	一括リネーム
42022	M	NFD	%CMD_Dir%FileExecute.exe	ファイルの実行
42023		---	%CMD_Dir%MoveFolder.exe ?NowDir?	現在のフォルダを移動
42024	M	NFD	%CMD_Dir%ArcPack.exe /t /s=0 /f=1	他のタブへ圧縮
42025	M	NF-	%CMD_Dir%ArcUnPack.exe /t /s=0 /f=1	他のタブに解凍
42026	M	NFD	%CMD_Dir%FileCpMv.exe /c /t /s=0 /f=1	他のタブへ拡張コピー
42027	M	NFD	%CMD_Dir%FileCpMv.exe /m /t /s=0 /f=1	他のタブへ拡張移動
42028	M	NFD	%CMD_Dir%RemoveZoneID.exe	アクセスブロック属性の解除
42029	M	NF-	%CMD_Dir%SimilarCopy.exe /c ?NowDir?	似ている名前のフォルダーに分類してコピー
42030	M	NF-	%CMD_Dir%SimilarCopy.exe /m ?NowDir?	似ている名前のフォルダーに分類して移動

42031	M	NF-	%CMD_Dir%ChgImgFmt.exe	画像フォーマット変換
42032	M	NF-	%CMD_Dir%ChgTxtFmt.exe	テキスト文字コード変換
42033	M	NF-	%CMD_Dir%DivFile.exe	ファイル分割
42034	M	N--	%CMD_Dir%FolderIconChange.exe ?NowDir?	現在のフォルダーアイコンを変更
42035	M	NF-	%CMD_Dir%WinEx.exe	内容を判別して拡張子変更
42036		---	%CMD_Dir%ScreenSaver.exe	スクリーンセーバーの起動
42037		---	%CMD_Dir%FreeMem.exe	全プロセスの開放可能なメモリを開放
42038	M	NFD	%CMD_Dir%CreateLink.exe	各種リンクの作成
42039	M	NFD	%CMD_Dir%CreateTumbImg.exe	サムネイルキャッシュの生成
42040		---	%CMD_Dir%MakeBigFile.exe	巨大ファイルの生成
42041		---	%CMD_Dir%SettingInitialization.exe	外部コマンドのレジストリ情報の削除
42042	M	NFD	%CMD_Dir%LockProcess.exe	ファイルをロックしたプロセスの検索

42070		---	%CMD_Dir%ShellCascadeWindows.exe	全てのウィンドウを重ねて表示
42071		---	%CMD_Dir%ShellMinimizeALL.exe	全てのウィンドウを最小化
42072		---	%CMD_Dir%ShellTileHorizontally.exe	全てのウィンドウを横に並べる
42073		---	%CMD_Dir%ShellTileVertically.exe	全てのウィンドウを縦に並べる
42074		---	%CMD_Dir%ShellUndoMinimizeALL.exe	全てのウィンドウ位置を元に戻す（シェル系の動作のみです）
42075		---	%CMD_Dir%ShellWinHELP.exe	Windowsのヘルプ
42076		---	%CMD_Dir%ShellSetTime.exe	時刻と日付の設定
42077		---	%CMD_Dir%ShellStartMenu.exe	タスクバーと[スタート]メニューの設定

42150		---	%CMD_Dir%Option.exe	オプション

40001	NF-	%Script_dir%Editor.txt	エディタの起動
40002	NF-	%Script_dir%BinEdit.txt	バイナリエディタの起動
40003	NF-	%Script_dir%Viewer.txt	ビューアーの起動

40501	NF-	%Script_dir%Editor.txt	エディタの起動(ナビゲーションあり)
40502	NF-	%Script_dir%BinEdit.txt	バイナリエディタの起動(ナビゲーションあり)
40503	NF-	%Script_dir%Viewer.txt	ビューアーの起動(ナビゲーションあり)

EOF


●書式
　空行や、先頭が「//」で始まる行はコメントとみなされます。
　書式はタブ区切りで、４または５つの項目を指定します。(規定数の項目が存在しない場合は、コメントとみなされます)
　「コマンドID<TAB>ファイル情報の送信手順(省略可能)<TAB>コマンドの呼び出しの抑止モード<TAB>コマンドのフルパス<TAB>説明」
　起動ディレクトリは、常にコマンドのフルパスで指定した実行ファイルの存在するディレクトリになります。
　行の先頭に「EOF」が記述されていると、その時点でファイルの読み込みを中断します。

１．コマンドID
　このファイルの先頭に記述されている有効IDの範囲で指定してください。
　具体的には「PostMessage(WM_COMMAND, コマンドID);」のような形でメッセージ処理されています。
　コマンドIDをキーにしてマップで管理しているので、同じIDが出てきた場合は後に出現した方を優先します。


２．ファイル情報の送信手順（手順の記述は省略可能ですがタブ文字は必須です）
　ドラッグアンドドロップモードで記述が省略された場合は、連動しないものとみなされます。
　送信対象のアイテムは、下記の一文字以上を連結させる事で、異なる種類のアイテムを複数回に分けてD&Dなどで送信することができます。

　　C:カレントディレクトリをD&Dで通知
　　S:選択アイテムをD&Dで通知
　　T:他のウィンドウの現在のパスををD&Dで通知（2画面モード用コマンドなどで使用。仮想フォルダを含まない）
　　　タブグループが存在する場合は、各タブグループのアクティブパス（現在のタブグループのアクティブタブは含まない）
　　　タブグループが存在しない場合は、アクティブタブ以外のパス
　　　他のタブが一切存在しない場合は、カレントパス
　　　（例：”CS”を指定するとWM_DROPFILEが２回発生して値が渡される、１回目はカレントディレクトリで、２回目は選択したファイル全てとなる）
　　X:WM_COPYDATAでメッセージ送信
　　M:共有メモリによるプロセス間通信

※ScriptCommand.txt、ScriptNaviCommand.txt、UserMenuCommand.txtで使用されるコマンドIDの場合は、連動の考え方が異なるため指定しても無視されます。

※動作の特徴
　a)ドラッグアンドドロップ（C/S/T）
　　後述の送信対象で指定されたアイテムを、起動したアプリケーションのトップウィンドウにWM_DROPFILEで送信します。
　　(起動したアプリケーションがD&Dを受け付けない場合は動作しません)
　　比較的多くのアプリケーションが対応しているので、各種アプリケーションを置き換えるのに使用できるかもしれません。
　　送信対象が未指定である場合は、連携なしの動作になります。

　b)WM_COPYDATAによる通信(X)
　　D&Dは渡すファイル数が5000個あたりから性能が劣化しはじめ、1万ファイルくらいになるともはや実用にならなくなります。
　　そこで、高速型のプロセス間通信としてWM_COPYDATAを用いて、テキスト形式でファイル情報を送信するモードを用意しています。
　　「選択数\t対象数\t現在のディレクトリ\tオプション\t選択アイテム・・・\tターゲットアイテム・・・・」の書式のタブ区切り文字で渡されます。
　　専用に作られたアプリケーションでしか使えないため汎用性はありません。
　　具体的な使い方は、外部コマンドのサンプルソースを参照ください。

　c)共有メモリによるプロセス間通信(M)
　　さらに速度を求める場合や、メモリ使用量が少なく、甚大な量のデータを通信する場合に使用する際に使用します。
　　また、環境によってC/S/T/Xなどのメッセージ送信の仕組みが動作しない場合の代替手段という側面もあります。
　　共有メモリ内の書式は、XのWM_COPYDATAの送信電文と同じフォーマットです。
　　専用に作られたアプリケーションでしか使えないため汎用性はありません。
　　具体的な使い方は、外部コマンドのサンプルソースを参照ください。


３.コマンドの呼び出しの抑止モード
　以下の条件に一致しない場合はコマンドを実行しない、必ず3文字で指定すること。
　　N:実体を持つフォルダであること。
　　F:ファイルを１つ以上選択していること。
　　D:フォルダを１つ以上選択していること。
　　-条件の未指定。
　例）
　　NFD：実体を持つフォルダで、フォルダかファイルが1つ以上選択されていれば呼び出し。
　　NF-：実体を持つフォルダで、ファイルが1つ以上選択されていれば呼び出し。
　　N--：実体を持つフォルダで、選択状態の連携はしない。
　　---：無条件で呼び出し、選択状態の連携はしない。
　※例えば、解凍コマンドでフォルダが選択されたり、ファイルが選択されてない状態で呼び出されると困るわけです。
　　そういった状態を抑止するための制御機構です。

４．コマンドのフルパス
　起動するアプリケーションをフルパスで記述します。

　■置換マクロ
　専用のマクロとして下記の置換マクロが使用できます。
　末尾に\が付与されます。
　・アプリケーションパス以下のディレクトリ。
　　%App_Dir%-------As/Rのインストールディレクトリ。
　　%Viewer_Dir%----ビューアのパス。
　　%CMD_Dir%-------標準のコマンド郡が格納されたパス。
　　%UserCmd_Dir%----ユーザー拡張用のコマンドを配置するように用意されたパス。
　　%CmdPlugin_Dir%--DLL型のプラグインコマンドを配置するように用意されたパス。

　・ユーザーディレクトリ以下のディレクトリ。
　　%User_dir%------ユーザーディレクトリ。
　　%Menu_dir%------ユーザー定義メニューを格納するために用意されたパス。
　　%Script_dir%----スクリプトコマンドを格納するために用意されたパス。

　　%NowDir%--------現在のフォルダ。末尾に\なし。必要があれば「”」括り。
　　%Current%-------現在のフォルダ。末尾に\なし。
　　%Drive%---------現在のドライブ名。
　　%Dir%-----------現在のドライブ名を付与しないディレクトリ名。
　　?NowDir?--------現在のフォルダ。末尾に\なし。必要があれば「”」括り。前作と互換性維持のためだけに残っています。

５．説明
　ステータスバーや、各種の設定画面でコマンドの説明として使用されます。
　また、この設定ファイルの可読性を上げる目的もあります。

※補足
　ExternalDefCommand.txt、ExternalUserCommand.txt、ScriptCommand.txt、ScriptNaviCommand.txt、UserMenuCommand.txt、PlugInCommand.txtの内容は、書式は全く同じですし、処理の分岐はコマンドIDの有効IDの範囲で決定されるので、同じファイルに書いても構いません。
　ただアップデートで問答無用で更新されてしまうもの、ユーザーさんによる修正が前提であるもの、用途が限定されるものなどの観点から、機能毎に別のファイルに分けられています。
