Задача Exec
Запускает заданную программу или команду с указанными параметрами.
Параметры
В следующей таблице описаны параметры задачи Exec.
Параметр |
Описание |
---|---|
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>