共用方式為


Exec 工作

更新:2007 年 11 月

以指定的引數執行指定的程式或命令。

參數

下表說明 Exec 工作的參數。

參數

描述

Command

必要的 String 參數。

要執行的命令。這些命令可能是系統命令 (例如 attrib) 或可執行檔 (例如 program.exe、runprogram.bat 或 setup.msi)。

這個參數可以包含多行命令。或者,您也可以將多個命令放在批次 (Batch) 檔中,再使用這個參數來執行它。

ExitCode

選擇性 (Optional) Int32 輸出唯讀參數。

指定由執行的命令所提供的結束代碼 (Exit Code)。

IgnoreExitCode

選擇性 Boolean 參數。

如果為 true,則工作會忽略由執行的命令所提供的結束代碼。否則,如果執行的命令傳回非零的結束代碼,工作便會傳回 false。

Outputs

選擇性的 ITaskItem[] 輸出參數。

含有工作的輸出項目。Exec 工作不會自行設定這些項目。反之,您可以提供這些項目,就像是工作設定過這些項目一樣,以便以後能在專案中加以使用。

StdErrEncoding

選擇性 String 輸出參數。

指定擷取之工作標準錯誤資料流的編碼方式。預設是目前主控台輸出的編碼方式。

StdOutEncoding

選擇性 String 輸出參數。

指定擷取之工作標準輸出資料流的編碼方式。預設是目前主控台輸出的編碼方式。

Timeout

選擇性 Int32 參數。

指定以毫秒為單位的時間長度,這段時間過後即結束工作可執行檔。預設值為 Int.MaxValue,表示沒有逾時時間。

ToolPath

選擇性 (Optional) String 參數。

指定工作將會載入基礎可執行檔 (vcbuild.exe) 的位置。

WorkingDirectory

選擇性 String 參數。

指定將會執行命令的目錄。

備註

當無法使用您所執行的工作 (Job) 之特定 MSBuild 工作 (Task) 時,這項工作 (Task) 便相當有用。使用 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>

請參閱

概念

MSBuild 工作

其他資源

MSBuild 工作參考