UiPathにてWindowsバッチファイルを実行する際、実行終了を待つ方法がありますか?

:grey_question: Question

UiPathでWindowsバッチファイルを呼び出しています。

Windowsバッチファイルの実行終了を待ってから次の処理に移りたい場合には一般的にどのような方法があるでしょうか。

:bulb: Answer

Windowsバッチファイルの実行終了を待つには以下二つの方法があります。

方法1:

『プロセスを開始』アクティビティの「実行の種類」オプションを"StartProcessType.Synchronously"に指定して頂ければ、バッチ処理の実行が完了するまで次の処理は始まりません。

「プロセスを開始」

方法2:

UiPathマーケットプレイスで「Processes and Scripts Execution with Timeout」というカスタムアクティビティがございます。

それを使って頂ければ、バッチの実行が完了するまで次の処理を待たせることが可能です。
また、バッチ処理のExit Codeも取得可能です。

使い方は添付のサンプルフローをご参照ください。
Processes and Scripts Execution with Timeout SampleFlow.zip (11.1 KB)

ExitCodeを取得するために、"Wait for exit"プロパティをTrueにして頂く必要あります。
また、バッチの想定実行時間以上のtimeout時間を"Wait for exit timeout in ms"プロパティに設定して頂く必要あります。
※timeout時間まで、batch処理が完了されない場合、処理を待たなく次のアクティビティが実行されます。
最後、"Caputrue output"プロパティをTrueに設定して頂ければ、実行結果をoutputに出力することも可能です。
必要がない場合、"Caputrue output"プロパティをFalseに設定してください。

「Processes and Scripts Execution with Timeout」アクティビティをインストールについては下記URLをご覧ください。