【UiPath】バッチファイルを実行する方法




ワークフローからバッチファイルを実行する方法を紹介します。
逆にバッチファイルからワークフローを実行する方法はこちらをご参照ください。

簡単な方法から順に以下4つの方法を紹介します。
①start process
②invoke powershell
③バッチ直接ダブルクリック
④コマンドプロンプトから実行

今回例で使うのは以下のような簡単なバッチファイルです。

実行すると以下のようなファイルが作成されます。

引数を入れずに実行すると、上記のようにECHO は です。と出ますが、引数を設定すると引数の値がそのまま表示されます。

①start process

Activities>Available>System>Application>Start Processを使用します。
Start Processを選択し、FileNameにバッチファイルのパス、Argumentに引数の値を設定します。
FileNameはファイル選択から選ぼうとするとexeファイルしか選択できないので、直接パスを入力してください。
Argumentが複数の場合は、スペースをいれるか、カンマをいれるかすると複数指定出来ます。

これで実行すると、以下のような結果となります。

また、もし引数を変数にしたい場合は以下のようにするとできます。

②invoke powershell

Activities>Available>System>PowerShell>Invoke Power Shellを使用します。
基本的な使い方はこちらをご参照ください。

Invoke Power Shellを使ってバッチを実行する場合は、IsScriptにチェックをつけて、CommandTextにコマンドを入力するのが簡単かと思います。
CommandTextの書き方はStartProcessのFileNameとArgumentを1行で書く感じです。それぞれスペースで区切りをいれましょう。
以下は、引数が変数の例ですが、直接”C:\test\バッチ\time.bat 引数1 引数2″と入力もできます。
また、今回TypeArgumentはStringに変更しています。

これを実行すると以下のような結果となります。

もしIsScriptなしでやりたい場合は以下のようになります。
まず、CommandTextはバッチのファイルパスのみにします。

そしてParametersは以下のように設定します。
InvokePowerShellの仕様上、Nameが引数1個目(%1)になり、Valueが引数2個目(%2)となるため、その位置で設定します。
ただし、Nameのところに変数を設定できないので、ご注意ください。

これを実行すると以下のようになります。

③バッチ直接ダブルクリック

マウスで作業するように、フォルダを開いてダブルクリックします。
まず、Activities>Available>System>Application>Open Applicationを選択します。
そして、Indicate window on Screenでバッチファイルが保存されているフォルダを選択します。

この状態だとうまく開かないので、PropatiesのArgumentsにフォルダのパスを設定します。
これだけでもよいのですが、パスが可変になる場合等は、Selectorのtitleを消しておいた方がよいかと思います。

次に、クリックを入れます。
Activities>Available>UI Automation>Element>Mouse>Double Clickを選択します。
indicate element inside windowでバッチファイルを選択します。

これでも一応動くのですが、Selectorの設定がいまいちなので、出来れば変更しておきましょう。
Selector横の[…]をクリックしSelector Editorを開きます。
左下のOpen in Explorerをクリックし、UI Explorerを開きます。(UI Explorerについてはこちらもご参照ください。)
UI Explorerでは、いらない要素のチェックを外し、text=time.batのチェックをつけましょう。
最終的には以下くらいすっきりできます。

Saveを押して、確定させましょう。するとSelectorは以下のようになります。

これで実行すると、フォルダが開きマウスが移動して、バッチが実行され、結果は以下のようになります。

引数が設定できないので、引数なしの結果となってます。

④コマンドプロンプトから実行

コマンドプロンプトから実行についてはこちらをご参照ください。
Type intoのTextにバッチのファイルパスと引数を入力しましょう。

以上、ワークフローからバッチファイルを実行する方法でした。
おすすめ順に並んでいるので、問題がなければ①から試していただけると良いかと思います。

他の機能一覧はこちら
他の作業一覧はこちら