Qスクリプトで外部コマンドの戻り値を取得したい
独自ボタンなどのスクリプトで
function process() {
var ExcelFunction = Java.type("jp.jasminesoft.util.ExcelFunction");
var Jfcerror = Java.type("jp.jasminesoft.jfc.error.Jfcerror");
var Jfcwarn = Java.type("jp.jasminesoft.jfc.error.Jfcwarn");
var Jfcinfo = Java.type("jp.jasminesoft.jfc.error.Jfcinfo");
var ProcessExecTaskClass = Java.type("jp.jasminesoft.jfc.job.ProcessExecTask");
var processor = new ProcessExecTaskClass();
processor.setCmd("C:/sample/script/sample.bat");
var result = processor.execute(p);
print(result);
}
のようにresultの戻り値を取得したいのですが、戻り値が返ってきません。
どのようにすれば、batの戻り値を取得できますか?
【回答】
回答致します。
jp.jasminesoft.jfc.job.ProcessExecTaskクラスのexecuteメソッドの戻り値は、コンソールに出力された結果が戻り値となります。
そのため、batの「exit /b %errorlevel%」のように、bat側の戻り値を返しても取得できません。
例えば、
echo %errorlevel%
のように、意図的にコンソールへ出力させて、それをスクリプト側でキャッチするようにしてください。