2011年7月26日火曜日

標準アクティビティだけで BAT ファイルを置換(1)

個人的に Workflow Foundation の適しているケースと感じている、BAT ファイル等でのスクリプトをどうすれば置き換えていけるか、というテーマで何回かに分割して書いていこうと思います。
BAT ファイル等で行われている処理内容は多岐にわたると思いますが、その中の一つ「別アプリケーションの実行」を標準アクティビティだけで置き換えてみようと思います。かなり力技です。


AssignApp

WF において万能アクティビティの一つ、Assign アクティビティを利用します。Assign アクティビティの基本機能としては「値の設定」になります。左辺には変数を、右辺には計算式を記述するのが基本の利用方法です。そして右辺に設定する計算式は、VB 構文を利用して記述する事になります。
VB 構文ですので、一般的な VB でのロジックをそのまま記載する事もできます。それを利用して外部アプリケーションを起動させたのが今回の例です。実際にロジックで書くと次のような感じでしょうか。

   1: Dim resProc (As Process) = Process.Start(“notepad.exe”)

このように Assign アクティビティを利用する事で、計算だけではなく外部アプリの起動なども行えます。戻り値の判断も、先程のワークフローでは resProc という変数で受け取っていますので、そのプロパティを参照する事により可能です。
実行するファイルがないなどのエラー制御も考える必要があるでしょうから、TryCatch アクティビティの内部に上記ワークフローを設定する形が適しているのではないか、と思います。

0 件のコメント:

コメントを投稿