外部プログラムを実行してその出力を取得
No.10567
フリーバード
さん 23/01/10 12:25
外部プログラムを実行して、その出力を取得したいのですが
1行目で
オブジェクトを指定してください
とエラーが出でます。
どう直せばよいでしょうか?
パスの先頭に js: は入ってます。
var exec = require('child_process').exec;
var COMMAND = 'echo Hello World';
exec(COMMAND, function(error, stdout, stderr) {
if (error !== null) {
return;
}
echo(stdout);
});
[
△
]
RE:10567 外部プログラムを実行してその出
No.10568
秀丸担当
さん 23/01/10 17:20
秀丸ファイラーClassicのJavaScriptは、いわゆるJScriptという種類のものになって
います。
Windows標準で使えるもので、Windows Script Hostのものと同じです。
試されたのは、おそらくnode.jsをインストールする必要があるもののような気がし
ます。
使えるオブジェクトは、秀丸ファイラーClassicに備わっているものか、COMオブジェ
クトで作成できるものになります。
秀丸ファイラーClassicに備わっているものでプログラム実行は無いので、COMオブジ
ェクトということになります。
例えば以下のようにするとできました。
exec = new ActiveXObject("WScript.Shell").exec("cmd /c dir");
all=exec.StdOut.ReadAll();
lines=all.split("\r\n");
message(lines[0]);
message(lines[1]);
message(lines[2]);
あるいは、ファイルを読み込むloadTextFileメソッドは標準で備わっているので、フ
ァイルに出力するようにプログラムを実行してから、loadTextFileで読み込むという
方法も考えられると思います。
ちなみに秀丸エディタのマクロはたくさんあって、run文、runex文、createobjectで
COMオブジェクト、JavaScript対応でもCOMオブジェクト、標準で備わっているhidema
ru.runProcessで、どれも標準出力を得ることができたりします。
[
△
]
RE:10568 外部プログラムを実行してその出
No.10569
フリーバード
さん 23/01/10 19:29
確認しました。
教えていただきありがとうございました。
[
△
]