シェルコマンドを実行
/**
* シェルコマンドを実行する。
* 2013 S.Sasaki
* 内容:
* マクロを起動するとプロンプトが表示されるので、
* 実行するシェルコマンドを指定します。
* 実行結果はアウトプットバーに出力されます。
* 内部コマンド・外部コマンド・パイプが指定可能です。
* エディタのテキストが選択されている場合は、
* 選択されたテキストをシェルコマンドに標準入力で渡します。
*/
// 実行するシェルコマンドの問い合わせ
var commandStr = prompt("command?", "");
if (!commandStr || commandStr.length < 1) {
// 未入力なら終了
Quit();
}
// シェルコマンドの実行
var WShell = new ActiveXObject('WScript.Shell');
var exec = WShell.Exec("%comspec% /c=" + commandStr);
// エディタのテキストが選択されていたなら
if (!document.Selection.isEmpty) {
// 標準入力に選択されたテキストを書きこむ
exec.StdIn.Write(document.Selection.Text);
exec.StdIn.Close();
}
// アウトプットバーにシェルコマンド実行結果を出力
outputbar.visible = true;
outputbar.Clear();
while (exec.Status == 0) {
outputbar.Write(exec.StdOut.ReadAll());
sleep(100);
}
スポンサーリンク