Sdílet prostřednictvím


Exec – úloha

Spustí zadaný program nebo příkaz pomocí zadaných argumentů.

Parametry

Následující tabulka popisuje parametry úlohy Exec .

Parametr Popis
Command Požadovaný parametr String.

Příkazy, které se mají spustit. Můžou to být systémové příkazy, například attrib nebo spustitelný soubor, například program.exe, runprogram.bat nebo setup.msi.

Tento parametr může obsahovat více řádků příkazů. Alternativně můžete do dávkového souboru vložit více příkazů a spustit ho pomocí tohoto parametru.
ConsoleOutput Volitelný ITaskItem[] výstupní parametr.

Každý výstup položky je řádek ze standardního výstupu nebo standardního chybového streamu generovaného nástrojem. Tato možnost je zaznamenána pouze v případě, že ConsoleToMsBuild je nastavena na true.
ConsoleToMsBuild Volitelný Boolean parametr.

Pokud trueúloha zaznamená standardní chybu a standardní výstup nástroje a zpřístupní je ve výstupním parametru ConsoleOutput .

Výchozí hodnota: false.
CustomErrorRegularExpression Volitelný String parametr.

Určuje regulární výraz, který se používá ke zjištění chybových řádků ve výstupu nástroje. To je užitečné pro nástroje, které vytvářejí neobvykle formátovaný výstup.

Není-li IgnoreStandardErrorWarningFormat zadán, je tento regulární výraz kromě standardních výrazů.

Výchozí hodnota: null (bez vlastního zpracování)
CustomWarningRegularExpression Volitelný String parametr.

Určuje regulární výraz, který se používá k zobrazení čar upozornění ve výstupu nástroje. To je užitečné pro nástroje, které vytvářejí neobvykle formátovaný výstup.

Není-li IgnoreStandardErrorWarningFormat zadán, je tento regulární výraz kromě standardních výrazů.

Výchozí hodnota: null (bez vlastního zpracování)
EchoOff Volitelný Boolean parametr.

Pokud trueúloha nevygeneruje rozbalenou formu Command do protokolu MSBuild.

Výchozí hodnota: false.
ExitCode Volitelný Int32 výstupní parametr jen pro čtení.

Určuje ukončovací kód, který poskytuje spuštěný příkaz, s tím rozdílem, že pokud úloha protokolovala jakékoli chyby, ale proces měl ukončovací kód 0 (úspěch), ExitCode je nastaven na -1.
IgnoreExitCode Volitelný Boolean parametr.

Pokud trueúloha ignoruje ukončovací kód, který je poskytován spuštěním příkazu. V opačném případě úloha vrátí false , pokud spuštěný příkaz vrátí nenulový ukončovací kód.

Výchozí hodnota: false.
IgnoreStandardErrorWarningFormat Volitelný Boolean parametr.

Pokud falsevybere řádky ve výstupu, které odpovídají standardnímu formátu chyby nebo upozornění, a zapíše je jako chyby nebo upozornění. Pokud truetoto chování zakážete.

Výchozí hodnota: false.
Outputs Volitelný ITaskItem[] výstupní parametr.

Obsahuje výstupní položky z úkolu. Úkol Exec nenastaví sám sebe. Místo toho je můžete zadat tak, jako kdyby je nastavili, aby je bylo možné použít později v projektu.
StdErrEncoding Volitelný String výstupní parametr.

Určuje kódování standardního datového proudu chyb zachycené úlohy. Výchozí hodnotou je aktuální kódování výstupu konzoly.
StdOutEncoding Volitelný String výstupní parametr.

Určuje kódování standardního výstupního datového proudu zachycené úlohy. Výchozí hodnotou je aktuální kódování výstupu konzoly.
UseUtf8Encoding Volitelný String parametr.

Určuje, jestli se má při zpracování příkazového řádku pro spuštěné příkazy použít znaková stránka UTF8. Platné hodnoty jsou Always, Nevernebo Detect. Výchozí hodnota je Detect, což znamená použití znakové stránky UTF8 pouze v případě, že jsou přítomny jiné znaky než ANSI.
WorkingDirectory Volitelný String parametr.

Určuje adresář, ve kterém se příkaz spustí.

Výchozí: Aktuální pracovní adresář projektu.

Parametry ToolTaskExtension

Tento úkol dědí z ToolTaskExtension třídy, která dědí ze ToolTask třídy, která sama dědí z Task třídy. Tento řetěz dědičnosti přidá několik parametrů k úkolům, které jsou z nich odvozeny.

Následující tabulka popisuje parametry základních tříd:

Parametr Popis
EchoOff Volitelný bool parametr.

Pokud je truetato hodnota nastavená, předá příkazový řádek /Q do příkazového řádku cmd.exe tak, aby se příkazový řádek nezkopíroval do příkazu stdout.
EnvironmentVariables Volitelný String parametr pole.

Pole definic proměnných prostředí oddělené středníky Každá definice by měla určovat název proměnné prostředí a hodnotu oddělenou symbolem rovná se. Tyto proměnné se předávají do vytvářeného spustitelného souboru kromě pravidelného bloku prostředí nebo selektivně přepisují. Například Variable1=Value1;Variable2=Value2.
ExitCode Volitelný Int32 výstupní parametr jen pro čtení.

Určuje ukončovací kód, který poskytuje spuštěný příkaz. Pokud úloha protokolovala nějaké chyby, ale proces měl ukončovací kód 0 (úspěch), je nastaven na hodnotu -1.
LogStandardErrorAsError Volitelný bool parametr.

Pokud truese všechny zprávy přijaté ve standardním chybovém streamu zaprotokolují jako chyby.
StandardErrorImportance Volitelný String parametr.

Důležitost, se kterou se má protokolovat text ze standardního datového proudu chyb
StandardOutputImportance Volitelný String parametr.

Důležitost, se kterou se má protokolovat text ze standardního výstupního datového proudu
Timeout Volitelný Int32 parametr.

Určuje dobu v milisekundách, po které se spustitelný soubor úlohy ukončí. Výchozí hodnota znamená Int.MaxValue, že neexistuje žádné časové období. Časový limit je v milisekundách.
ToolExe Volitelný string parametr.

Projekty můžou tuto implementaci implementovat, aby přepsaly ToolName. Úkoly můžou tuto možnost přepsat, aby se zachoval název ToolName.
ToolPath Volitelný string parametr.

Určuje umístění, ze kterého úloha načte základní spustitelný soubor. Pokud tento parametr není zadaný, úloha použije instalační cestu sady SDK, která odpovídá verzi architektury, na které běží nástroj MSBuild.
UseCommandProcessor Volitelný bool parametr.

Pokud je tato úloha nastavená na truehodnotu , vytvoří pro příkazový řádek dávkový soubor a spustí ho pomocí procesoru příkazů místo přímého spuštění příkazu.
YieldDuringToolExecution Volitelný bool parametr.

Pokud je tato hodnota nastavená na true, tento úkol při provádění úkolu získá uzel.

Poznámky

Tento úkol je užitečný, pokud není k dispozici konkrétní úloha NÁSTROJE MSBuild pro úlohu, kterou chcete provést. Úloha Exec , na rozdíl od konkrétnější úlohy, však nemůže provádět další operace zpracování ani podmíněné operace na základě výsledku nástroje nebo příkazu, který se spustí.

Místo přímého vyvolání procesu Exec se úloha cmd.exe ve Windows nebo jinak sh.

Parametry IgnoreExitCode a IgnoreStandardErrorWarningFormat ovlivňují podmínky, za kterých úkol vrací false, což značí chybu. U výchozího nastavení (false pro oba) Exec úloha indikuje selhání (vrátí false) buď v případě, že spustitelný soubor obsahuje nenulový ukončovací kód, nebo pokud se diagnostická zpráva najde ve standardním chybovém streamu spustitelného souboru. Pokud chcete Exec označit selhání pouze v případě, že spustitelný soubor vrátí nenulový ukončovací kód, pak je nastaven na truehodnotu IgnoreStandardErrorWarningFormat .

Příklad

Následující příklad používá Exec úlohu ke spuštění příkazu.

<Project xmlns="http://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>

Viz také