runex文(Ver8.95対応版)
目次−
runex文
runex文は他のプログラムを実行します。(V8.00以降)
run文等の拡張版です。
各項目の意味については、秀丸エディタヘルプの「プログラム実行の詳細(オプション指定時)」の項目を参照して下さい。
runex ファイル名, 同期フラグ,
標準入力フラグ, 標準入力ファイル名,
標準出力フラグ, 標準出力ファイル名,
標準エラー出力フラグ, 標準エラー出力ファイル名,
フォルダフラグ, フォルダ名,
表示フラグ,
非描画フラグ,
エンコード,
拡張フラグ;
ファイル名(文字列)
実行するファイル名。
ファイル名は
run文と同様に「%f」「%d」「%b」という文字を解釈します。
%そのものを表す場合は「%%」と記述します。
V8.73以降では拡張フラグの指定で%の解釈をしないようにできます。
同期フラグ(数値)
0:非同期
1:同期
非同期を指定していても、標準出力のパラーメータで、マクロを実行している秀丸エディタ自身で標準出力を受け取る場合は同期と同じになります。
標準入力フラグ(数値)
0:なし
1:自動
2:ファイルの内容
3:(予約)
4:現在の内容
5:範囲選択の内容
標準入力ファイル名(文字列)
標準入力フラグが2のときのファイル名
標準出力フラグ(数値)
0:なし
1:自動 (新規作成状態または範囲選択されている場合は挿入/置き換え、そうでなければ新規)
2:ファイルへ出力
3:ファイルへ追加
4:新規
5:挿入
6:範囲選択を置き換え
7:アウトプット枠へ出力(
注)
8:アウトプット枠へ出力(消さずに追加)
標準出力ファイル名(文字列)
標準出力フラグが2または3のときのファイル名
標準エラー出力フラグ(数値)
0:なし
1:標準出力と同じ または 自動
2:ファイルへ出力
3:ファイルへ追加
4:新規
5:挿入
6:範囲選択を置き換え
7:アウトプット枠へ出力(
注)
8:アウトプット枠へ出力(消さずに追加)(V8.30以降)
標準出力フラグが 0 以外の時は、1〜3 か、標準出力フラグと同じ値しか指定できません。
標準エラー出力ファイル名(文字列)
標準エラー出力フラグが2または3のときのファイル名
作業フォルダフラグ(数値)
0:指定なし
1:現在のファイルのフォルダ
2:フォルダを指定
3:(予約)
4:実行ファイルのフォルダ
作業フォルダは、実行するプログラムのカレントフォルダです。標準入出力でファイルを指定している場合の相対パスの基準には使われません。
フォルダ名(文字列)
作業フォルダフラグが2のときのフォルダ名
表示フラグ(数値)
0:自動
1:表示
2:非表示(SW_HIDE相当)
3以降はWindowsAPIのShellExecuteのnShowCmd相当に変換される値(V8.03以降)
3:SW_SHOWMAXIMIZED/SW_MAXIMIZE
4:SW_SHOWNOACTIVATE
5:SW_SHOW
6:SW_MINIMIZE
7:SW_SHOWMINNOACTIVE
8:SW_SHOWNA
9:SW_RESTORE
10:SW_SHOWDEFAULT
11:SW_FORCEMINIMIZE
12:SW_SHOWNORMAL
13:SW_SHOWMINIMIZED
非描画フラグ(数値)
0:描画する
1:標準出力をリダイレクト中は描画しない
エンコード(数値)
0:ANSI
2:Unicode(UTF-16)
6:Unicode(UTF-8)
V8.00では0か2のみが指定できます。
V8.40では0か2か6のみが指定できます。
それ以外のエンコードは指定できません。
拡張フラグ(数値)(V8.73以降)
0x0001のビットを1にすると、ファイル名部分で%の解釈をしないようになります。%を表す場合は「%」をそのまま書けるようになります。
例:
runex "filename.exe"
, 1 //sync 0:async, 1:sync
, 0, "" //stdin 0:none, 1:auto, 2:<file, 3:(reserved),
// 4:current content, 5:selection
, 1, "" //stdout 0:none, 1:auto, 2:>file 3:>>file, 4:new window,
// 5:insert, 6:replace, 7:>output pane, 8:>>output pane
, 0, "" //stderr 0:none, 1:auto or >>stdout, 2-8:same as stdout's param
, 0, "" //folder 0:none, 1:current, 2:specify 3:(reserved), 4:exe's
, 1 //show 0:auto, 1:show, 2:hide, 3-13:ShellExecute()'s SW_*
, 1 //draw 0:draw, 1:no draw when stdout redirected
, 0 //encode 0:ansi, 2:utf-16, 6:utf-8
, 0 //extended flags
;
注:
アウトプット枠へ出力するときは、第2パラメータの同期フラグによって挙動が異なります。
同期フラグが 0 の場合、runex文を実行した直後にマクロは終了して、通常の操作が可能な状態になります。
同期フラグが 1 の場合、出力が全て終わるまで待機するようになります。出力が終わったらマクロが続行します。