//ランチャ・ジャンプ用スクリプト（テンプレート）

//------------------------------------------------------------------------------------------------
//●基本仕様
//・文字コードは、UTF-16(BOMの有無はどちらでも良いUNICODE、リトルエンディアン)
//・ランチャや各種メニューなどで表示されるアイテム名は、ファイル名をそのまま表記として使用します。
//　リストなどで表示する場合に半角の「＆」は撤去され、存在しないものとしてインクリメンタルサーチは実行されます。
//　メニューで表示する場合は「＆」を付与することでショートカットキーとして使用することが可能ですが、全角文字の前に付与すると意味をなしません。
//・アイコンインデックスは別ファイルで保持し、先頭のIconかRunかRunExのアイコンを取得します。
//・//で始まる行はコメントとみなします。
//・モード切り替え、コマンド実行、その他コマンドは先頭業から順に逐次実行され、何度でも記述可能です。
//　新しいウィンドウを開くコマンドを複数記述することも可能だし、また複数のアプリを一斉に起動することもできます。
//・1行の最大サイズは32,767文字です。（末尾の改行コード込み）
//・メッセージ送信系・各種ジャンプの対象は、現在アクティブなタブへコマンドを発行します。
//　BootMode=5の終了待ち、?ANY?系の入力、MessageBox系や、各種ウェイトなどで、停止や遅延を伴うスクリプトの実行の際にはご注意ください。
//　（コマンド発行時点のアクティブタブが閉じられていたらメッセージの行き場が失われるため）


//●テンプレート用置換マクロ（説明部分も置換されないように％を全角に変換しています、置換マクロなので大/小文字判定があります）
//選択アイテムをランチャに登録コマンドなどで使用する置換文字列
//1.％AddFile％
//　拡張子判別コマンドとして新規作成される場合はNULLに置換される。
//　選択アイテムをランチャやお気に入りに登録などのコマンドの場合は、選択ファイルのフルパスに置換される
//2.％CommandLineOption％
//　拡張子判別コマンドとして新規作成される場合は「?SelFile?」に置換される。それ以外は作成時のNULLに置換される
//
//●特殊環境変数
//「％App_Dir％」・・・アプリケーションインストールディレクトリ
//「％CMD_Dir％」・・・同梱外部コマンドディレクトリ
//「％Viewer_Dir％」・・・同梱ビューアディレクトリ
//「％UserCmd_Dir％」・・・ユーザー用外部コマンド格納ディレクトリ
//「％CmdPlugin_Dir％」・・・コマンド型プラグイン格納ディレクトリ
//「％User_dir％」・・・ユーザー情報格納ディレクトリ
//「％Script_dir％」・・・スクリプトファイル格納ディレクトリ（ユーザー情報格納ディレクトリ配下）
//「％Menu_dir％」・・・メニュー定義ファイル格納ディレクトリ（ユーザー情報格納ディレクトリ配下）
//------------------------------------------------------------------------------------------------


//【1回のみ有効な設定】

//明示的なアイコンファイルの指定です。未指定の場合はRun節のアイコンを取得します。
//なお、Icon節で指定した方がアイコンキャッシュの生成にかかる速度面で有利に働きます。
//またIconとRunは先に出てきた方を採用するので、極力ファイルの先頭に記述することを推奨します。
//こちらはマルチアイコンファイルに対応しております。カンマ区切りでアイコンインデックスを記載してください。
//例）Icon=C:\WINDOWS\explorer.exe,5
//Icon=


//【順次処理するため、複数回使用可能な設定】

//●モード切り替え
//コマンドラインオプション(下記リファレンスの置換マクロが使用できます)
CommandLineOption=%CommandLineOption%

//複数のアイテムが渡された場合に一度に渡す。（TRUE=1/FALSE=0）
//「Run」コマンドにのみ影響を与えます
MultiCommandMode=0

//ファイル名の渡し方（0=コマンドラインで渡す/1=ファイルドロップで渡す(CommandLineOptionを無視します)）
//同梱の外部コマンドは、大量のファイル名を渡されることを想定しているためファイルドロップで渡す方式を採用しています。
//「Run」コマンドにのみ影響を与えます
SendInfoMode=0

//Shiftが押されていたらコマンドラインを無視（TRUE=1/FALSE=0）
ShiftSilentMode=0

//起動フォルダ
//現在のフォルダ=未指定/アプリケーションディレクトリ=1/指定フォルダ=文字列指定
BootDir=

//アプリケーション起動モード
//通常(ノーウェイト)=0/DDE終了待ち=1/200ms待つ=2/500ms待つ=3/バックグラウド実行=4/1つずつ終了を待つ=5
BootMode=0

//オープンモード
//0:自動判別/1:強制的に実行/2:強制的にジャンプ/3:強制的に新しいウィンドウで開く/4:強制的にバックグラウンドで開く
//フォルダーの場合に1が指定された場合はシェル実行される、ファイルの場合に2/3/4が指定された場合はファイルのあるフォルダが対象になる
OpenMode=0

//リスト上のアイテムの選択コマンド（実体名で比較します。外部アプリケーションの場合は動作しません）
//Select=*.cpp;*.h

//・RunコマンドやExRunを実行した後に待機する時間を指定します。
//高速で連続起動すると問題を起すタイプの実行ファイルを指定する場合にご利用ください。
//例：Microsoft社のOffice2003以前(テンプレートが破損することがあります)
//　WZソフトウェアのWz Editor6以前(ファイルが開けない事がある)
//※例示したものは、有名で優秀なソフトウェアです。この問題は決して特殊な事例ではありません。
//RunWait=0


//●Run
//単純コマンド実行、コマンドラインでファイル名を渡す
//パス表記（実体のフルパス）
//一括でファイル名を渡したり、逐次ファイルを渡したり、対象の属性を見てフォルダ移動したりすることが可能な実行コマンドです。
//また新しいウィンドウを開いたりするのも、このコマンドを使用します。
Run=%AddFile%



//●「ExRun」拡張子判別実行
//　コマンドラインでファイル名を渡す
//「|」で区切ることによって、1つの拡張子に対して複数のコマンドを割り当てることができます。
//　この場合、実行時にポップアップメニューが表示されて選択することになります。
//
//「ExRun」コマンドが出現した時点で下記のオプションのステータスを保存し、起動準備を行ないます。
//・拡張子判別用のフィルタ「Filter」
//　「,」や「;」で区切ることによって複数の指定が可能で、大文字小文字は区別しません。未指定の場合はチェックなしで起動されます。
//・コマンドライン[CommandLineOption]
//・アプリケーション起動モード[BootMode]
//・起動フォルダ[BootDir]
//・複数のアイテムが渡された場合に一度に渡す「MultiCommandMode」
//・ファイル名の渡し方「SendInfoMode」
//
//この設定ファイルを読み終えた後に処理し、実行が完了した時点で終了します。
//この動作を選択ファイル毎に繰り返します。

//例１：拡張子判別を利用した編集コマンドの例です。
//画像はペイント、MS-WORDとMS-EXCEL用の拡張子を判別し、見つからなかったらとりあえずメモ帳を開く記述になります。
//なお、拡張子がtxtの場合は、MS-WORDとメモ帳のどちらで開くかポップアップメニューが表示されます。
//CommandLineOption=?SelFile? 
//Filter=bmp,gif,png,jpeg,jpg
//BootMode=0
//ExRun=C:\WINDOWS\system32\mspaint.exe
//CommandLineOption、BootModeは変更がないので省略
//Filter=doc,docx
//ExRun=C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
//Filter=xls,xlsx
//ExRun=C:\Program Files\Microsoft Office\Office12\EXCEL.EXE
//Filter=txt
//ExRun=C:\WINDOWS\system32\notepad.exe|C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
//Filter=
//ExRun=C:\WINDOWS\system32\notepad.exe

//例２：拡張子判別を利用したビューアコマンドの例です
//Filter=bmp,JPG,JPEG,DIB,RLE,CAM,J6I,GIF,MAC,MAG,MKI,PCD,PCX,PI,PIC,P2,PCT,PICT,PMP,PNG,PNM,PBM,PGM,PPM,Q0,RGB,Q4,RAS,RF,SJ1,TIF,TIFF,WMF,X,XBM,XPM,ico
//ExRun=D:\TOOLS\CG\iview\i_view32.exe
//Filter=html,htm,shtml,aspx,tmpl
//ExRun=％Viewer_Dir％Brws.exe
//Filter=EXE,LZH,LZS,CAB,ZIP,RAR,7z,GCA,TAR,TGZ,TBZ,TAZ,GZ,Z,BZ2,deb,RPM,CPIO,AR,JAR,ARJ,GZA,BZA,Yz1
//ExRun=％Viewer_Dir％MArc.exe
//Filter=avi,mpg,mpeg,wmv,asf,ra,ram,rm,pdf,swf,flv,fla
//ExRun=％Viewer_Dir％Seeker.exe
//Filter=
//ExRun=％Viewer_Dir％Txv.exe



//●その他コマンド
//Yes・Noで問い合わせるタイプのメッセージ（Yes/Noの選択、Noを選ぶと中断します）
//MessageBoxYN=メッセージボックスの内容

//メッセージの表示（OKのみ）
//MessageBoxOK=メッセージボックスの内容

//メインウィンドウに向けて各種のコマンド発行します。
//使用可能なコマンドは「AllCommand.txt」を参照してください。
//※フォーカス位置によって、動作しない場合があります。
//（アドレスバーにフォーカスがある場合に、リスト上の選択アイテムを編集コマンドとか）
//PostMessage=コマンドID

//同期ウェイト
//この記述が見つかったタイミングで、ミリ秒単位で指定するウェイトです。
//（前述のRunWaitとは動作が異なります）
//ファイル出力直後からOSが認識するタイムラグを待ったり、アプリケーションの連続起動で誤動作することを抑制したりします。
//主に前述のPostMessageの待機時間の調整を主目的にしています。
//Wait=50
//連続でアプリケーションを起動した場合、DDE通信が追いつかなくて誤動作を起こすアプリケーションの場合に使用します。

//指定されたフォルダーを開く
//末尾の「\」は無視されます。
//書式：動作種別(0:ジャンプ、1:新しく開く、2:バックグラウンドで開く),フルパス
//FolderJump=1,C:\WINDOWS

//指定されたファイルまで開く
//書式：動作種別(0:ジャンプ、1:新しく開く、2:バックグラウンドで開く),フルパス
//FileJump=1,C:\WINDOWS

//任意のお気に入りタブで指定のフォルダを開く
//書式：数字(0～9),フルパス
//FavoriteJump=1,C:\WINDOWS
//FavoriteJump=2,C:\Program Files

//任意のユーザー定義バーで指定のディレクトリを開く
//書式：数字(0～8),基準フォルダ（[ユーザーディレクトリ]\BAR\）からの相対パス
//UBJump=1,Drive

//開いている全てのタブへコマンドを発行
//例えば、全てのタブを更新するとか、全てのタブを詳細表示にすると言った使い方を想定しています。
//PostMessageAll=コマンドID

//各種バー専用のコマンドを発行
//各種バーに、バー固有のコマンドを送信ます。（バーIDはヘルプを、使用できるコマンドIDはメニュー定義ファイルを参照）
//書式：PostMessageBar=バーID,バー固有のコマンドID
//PostMessageBar=1,47950

//Wavファイルを再生
//Wavファイルを非同期で再生します。
//必殺技を叫びながらコマンドを実行するための機能です。
//PlayWav=wavファイルのフルパス

//メインウィンドウを指定された座標に移動
//MoveWindow=left,top,width,height


//------------------------------------------------------------------------------------------------
//コマンドライン置換マクロリファレンス
//------------------------------------------------------------------------------------------------
//※置換マクロなので大/小文字判定があります

//【現在のフォルダー置換マクロ】
//?NowDir?
//	 現在のフォルダー（最後に￥記号なし）をダブルクォーテーションで括る 
//?nowdir?
//	 現在のフォルダー（最後に￥記号なし） 
//?Drive?
//	 現在のドライブ（ドライブ名＋：、例「A:」「C:」） 
//?Dir?
//	 現在のドライブ名を付与しないディレクトリ名（\Windows\System32\） 
//?TargetDir?
//	2画面モードなら、アクティブリストの反対側のリストのパス
//	1画面モードならアクティブなリストのパス
//	対象のリストが仮想フォルダーなら無効になる
//	ドライブルートを除いて末尾に￥は付かない 
//?TargetDrive?
//	2画面モードなら、アクティブリストの反対側のリストのドライブ
//	1画面モードならアクティブなリストのドライブ
//	対象のリストが仮想フォルダーなら無効になる 


//【選択しているファイル置換マクロ】
//「ExRun」の場合「Filter」によるフィルタ判定が適用されます。
//「複数のアイテムが渡された場合に一度に渡す」がONの場合、スペース区切りで列挙されます。
//?SelFile? 現在選択中のフルパスファイル名、ダブルクォーテーションで括る
//?selfile? 現在選択中のフルパスファイル名
//?SelPath? 現在選択中のファイルのパス名
//?FileName? 現在選択中のファイル名 
//?Name? 現在選択中のファイル名（拡張子なし） 
//?Ext? 現在選択中のファイル名の拡張子 
//まめFileとの互換性のため、それぞれをダブルクォーテーションで括る「?filename?」「?name?」「?ext?」「?selpath?」も機能として持っていますが、利用は推奨いたしません。
//※?SelPath?は一つのフォルダに、複数のパスが混在する仮想フォルダ（例：ゴミ箱やデスクトップなど）での利用を想定しています。

//【その他の置換マクロ】
//　使用例として↓の用に記述すると、メモ帳で現在のウィンドウで開いているドライブルートに「2004-12-31.txt」のようなテキストファイルを作製して開きます。
//　コマンド：notepad.exe
//　コマンドラインオプション："?Dir?\?Date?.txt"
//
//時刻系マクロ
//現在の時刻を参照して数値ないし文字列に置換します。
//?Date? 日付(%Y-%m-%d) 
//?Time? 時刻(%H-%M-%S) 
//?Year? 年(%Y) 
//?Month? 月(%m) 
//?Day? 日(%d) 
//?Hour? 時(%H) 
//?Minute? 分(%M) 
//?Second? 秒(%S) 
//?Week? 曜日の省略形(%a) 
//?WEEK? 曜日(%A) 
//?ShellTime? コントロールパネルで設定される書式(%c) 

//・入力系マクロ（本体から呼び出した場合のみ有効になります）
//?any?
//?ANY?
//?Any?
//	汎用テキスト入力ダイアログを開きます。
//	?any?はダブルクォーテーションなし、?ANY?は?any?と同じ（予備）、?Any?は入力内容をダブルクォーテーションで括ります。
//	最優先で置換されるため、他の置換マクロを入力すると置換されます。 
//?anyfile?
//?ANYFILE?
//?AnyFile?
//	ファイル名の入力ダイアログを開きます。
//	?anyfile?はダブルクォーテーションなし、?ANYFILE?は?anyfile?と同じ（予備）、?AnyFile?は入力内容をダブルクォーテーションで括ります。
//	２番目に処理されます。 
//?anydir?
//?ANYDIR?
//?AnyDir?
//	フォルダ選択ダイアログを開きます。
//	?anydir?はダブルクォーテーションなし、?ANYDIR?は?anydir?と同じ（予備）、?AnyDir?は入力内容をダブルクォーテーションで括ります。
//	３番目に処理されます。
//	（入力内容には、必ず最後に￥が付与されます） 

//?ASK?　コマンドライン確認用（コマンド起動せず、コマンドラインを表示）
