Exec タスク
更新 : 2007 年 11 月
指定されたプログラムまたはコマンドを指定された引数で実行します。
パラメータ
Exec タスクのパラメータの説明を次の表に示します。
パラメータ |
説明 |
---|---|
Command |
必須の String 型のパラメータです。 実行するコマンドです。attrib などのシステム コマンド、または program.exe、runprogram.bat、setup.msi などの実行可能ファイルを指定できます。 このパラメータには、複数のコマンド行を含めることができます。または、複数のコマンドをバッチ ファイルに記述し、このパラメータを使用して実行することもできます。 |
ExitCode |
省略可能な Int32 型の読み取り専用出力パラメータです。 実行したコマンドの終了コードを示します。 |
IgnoreExitCode |
省略可能な Boolean 型のパラメータです。 true に設定すると、実行したコマンドの終了コードがタスクで無視されます。それ以外の場合に、実行したコマンドが 0 以外の終了コードを返すと、タスクは false を返します。 |
Outputs |
省略可能な ITaskItem[] 型の出力パラメータです。 タスクの出力アイテムが含まれます。このパラメータは、Exec タスク自体が設定するわけではありません。代わりにユーザー側で、タスクで設定されたかのようにこの値を設定でき、プロジェクトの以降の処理で使用できます。 |
StdErrEncoding |
省略可能な String 型の出力パラメータです。 タスクの標準エラー ストリームをキャプチャするときのエンコーディングを指定します。既定値は、現在のコンソール出力のエンコーディングです。 |
StdOutEncoding |
省略可能な String 型の出力パラメータです。 タスクの標準出力ストリームをキャプチャするときのエンコーディングを指定します。既定値は、現在のコンソール出力のエンコーディングです。 |
Timeout |
省略可能な Int32 型のパラメータです。 実行中タスクの終了処理を開始するまでの時間をミリ秒単位で指定します。既定値は Int.MaxValue であり、タイムアウト期限がないことを示します。 |
ToolPath |
省略可能な String 型のパラメータです。 基になる実行可能ファイル (cmd.exe) を読み込む場所を指定します。 |
WorkingDirectory |
省略可能な String 型のパラメータです。 コマンドを実行するディレクトリを指定します。 |
解説
このタスクは、実行する必要のあるジョブに対応する固有の MSBuild タスクが存在しない場合に役立ちます。ただし、固有のタスクではなく、Exec タスクで実行すると、実行したツールやコマンドの出力を収集できないという短所があります。
Exec タスクは、直接プロセスを呼び出す代わりに cmd.exe を呼び出します。
使用例
Exec タスクを使用してコマンドを実行する例を次に示します。
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Binaries Include="*.dll;*.exe"/>
</ItemGroup>
<Target Name="SetACL">
<!-- set security on binaries-->
<Exec Command="echo y| cacls %(Binaries.Identity) /G everyone:R"/>
</Target>
</Project>