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>