Exec 任务

使用指定的参数运行指定程序或命令。

参数

下表描述了 Exec 任务的参数。

Parameter

说明

Command

必选 String 参数。

要运行的命令。 可以是系统命令,如 attrib,也可以是可执行文件,如 program.exe、runprogram.bat 或 setup.msi。

此参数可以包含多行命令。 或者,可以将多个命令放在一个批处理文件中,然后使用此参数运行批处理文件。

CustomErrorRegularExpression

可选 String 参数。

指定用于找出工具输出中的错误行的正则表达式。 这对生成不常见格式输出的工具很有用。

CustomWarningRegularExpression

可选 String 参数。

指定用于找出工具输出中的警告行的正则表达式。 这对生成不常见格式输出的工具很有用。

ExitCode

可选 Int32 只读输出参数。

指定由执行的命令提供的退出代码。

IgnoreExitCode

可选 Boolean 参数。

如果为 true,则该任务将忽略由执行的命令提供的退出代码。 否则,如果执行的命令返回非零退出代码,则任务将返回 false。

IgnoreStandardErrorWarningFormat

可选 Boolean 参数。

如果为 false,则选择输出中匹配标准错误/警告格式的行,并将其记录为错误/警告。 如果为 true,则禁用此行为。

Outputs

可选 ITaskItem[] 输出参数。

包含来自该任务的输出项。 Exec 任务本身不设置这些项。 您可以提供这些项,就好像它们是由该任务设置的一样,这样将可以在项目的后期使用这些项。

StdErrEncoding

可选 String 输出参数。

指定捕获的任务标准错误流的编码。 默认值为当前的控制台输出编码。

StdOutEncoding

可选 String 输出参数。

指定捕获的任务标准输出流的编码。 默认值为当前的控制台输出编码。

WorkingDirectory

可选 String 参数。

指定将运行该命令的目录。

备注

当您要执行的作业的特定 MSBuild 任务不可用时,此任务非常有用。 但是,与更具体的任务不同,Exec 任务无法从它运行的工具或命令收集输出。

Exec 任务调用 cmd.exe 而不是直接调用某个进程。

在本文档中列出的参数,此任务还将从 ToolTaskExtension 类继承参数,此类本身从 ToolTask 类继承。 有关这些附加参数及其说明的列表,请参见 ToolTaskExtension 基类

示例

下面的示例使用 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 任务参考