コマンド実行でバッチスクリプトの戻り値を取得する方法
お世話になります。
「exit XX」で値を返すバッチスクリプトをWinActorからコマンド実行で起動し、戻り値を変数に格納するには
どうすれば良いでしょうか。
(ノードの「コマンド実行」で「起動終了まで待つ」を選択し、出力先変数名に変数を設定しても
取得できませんでした。)
バッチスクリプトの内容は、特定のフォルダ内のファイル数を取得して返すもので、フォルダ監視に使います。
現在はループ上にライブラリの「ファイル一覧(ファイル数)取得」を置いて監視していますが、
シナリオを何時間も動かすとその部分でフリーズしてしまい、ファイル数取得に使うオブジェクトを「Shell.Application」から
「Scripting.FileSystemObject」に変更しても解決しない為、外部バッチから取得しようと考えております。
(長時間実行すると「コマンド実行」でフリーズする懸念はありますが、他に方法が思いつきません。)
タスクスケジューラはやはり無理ですか。
バッチファイルの結果を取得するだけなら
test.bat
@echo off
set HENSU=0
echo %HENSU%
exit
のように結果だけ出力するようにバッチをコーディングしおけば
「コマンド実行」で「起動終了まで待つ」を選択すれば変数に結果
をもってこれると思います。
例
コマンド「値→test.bat」(フルパス)
オプション「値→」(空白)

exit XX でバッチを終了するとコマンド実行で結果を取得できないのですが、
exit /B XX として呼出元バッチの終了コードを取得することができます。
main.batからsub.batを呼出し、sub.batで設定した終了コード9999をコマンド実行ノードに返す例です。
【sub.bat】
@echo off
exit /B 9999
----
【main.bat】
@echo off
call C:¥sub.bat
echo %ERRORLEVEL%
----
【コマンド実行ノードのプロパティ】
コマンド:値⇒cmd
オプション:値⇒/C C:¥main.bat
●起動終了まで待つ(出力を受け取る)

ありがとうございます。試してみます。
出力先変数名に格納されるのは実行されたコマンドの1行目です。
戻り値を格納するわけではなかったはずです。(バッチを複数組み合わせればできる思いますが。)
WinActor_操作マニュアルのP.361をご参照いただけるとよりわかりやすいと思います。
バッチファイルをタスクスケジューラで指定時間間隔で実行し、処理に該当する場合にWinActroを起動するという方法は
使えないでしょうか。タイムラグなしに処理を実行したい場合には不向きですが。。。

回答ありがとうございます。
バッチで監視して、ファイルがあったらWinActorを起動する方法も考えましたが、
ファイルがあったら即座に処理をしなければならないので、ファイルを見つけてからシナリオを起動した場合、初期処理(EXCELファイル読込など)が多くて時間がかかるため、シナリオは常時動かしておきたいのです。
ありがとうございます。IM様の方法で出来ました。