Sdílet prostřednictvím


Copy – úloha

Zkopíruje soubory do nového umístění v systému souborů.

Parametry

Následující tabulka popisuje parametry úkolu Copy.

Parametr

Description

CopiedFiles

Volitelné výstupní parametry ITaskItem[].

Obsahuje položky, které byly úspěšně zkopírovány.

DestinationFiles

Volitelné parametry ITaskItem[].

Určí seznam souborů, do kterého zkopírovat zdrojové soubory.Tento seznam by měl být se seznamem uvedeným v parametru SourceFiles v relaci 1:1.To znamená první soubor zadaný v SourceFiles bude zkopírován na první místo určené v DestinationFiles a tak dále.

DestinationFolder

Volitelné parametry ITaskItem.

Určuje adresář, do kterého budou zkopírovány soubory.Musí to být adresář, nikoli soubor.Pokud adresář neexistuje, je vytvořen automaticky.

OverwriteReadOnlyFiles

Volitelné parametry Boolean.

Přepsat soubory i v případě, že jsou označeny jako soubory určené pouze pro čtení

Retries

Volitelné parametry Int32.

Určuje, četnost provedení pokusu o kopírování, pokud všechny předchozí pokusy selhaly.Výchozí nastavení je nula.

Poznámka: Použití opakování může zastínit problém se synchronizací v rámci procesu sestavení.

RetryDelayMilliseconds

Volitelné parametry Int32.

Určuje zpoždění mezi veškerými nezbytnými opakováními.Výchozí hodnota je argument RetryDelayMillisecondsDefault, který je předán do konstruktoru CopyTask.

SkipUnchangedFiles

Volitelné parametry Boolean.

Je-li true, přeskočí kopírování souborů, u kterých mezi zdrojem a cílem nedošlo ke změně.Úloha Copy považuje soubory za nezměněné, pokud mají stejnou velikost a stejný čas poslední aktualizace.

[!POZNÁMKA]

Nastavením tohoto parametru na true by neměly být na obsažený cíl použity analýzy závislosti, protože ty se spouštějí pouze u úloh, jejichž čas poslední aktualizace zdrojových souborů je vyšší než čas poslední aktualizace cílových souborů.

SourceFiles

Povinný parametr ITaskItem[].

Určuje soubory ke kopírování.

UseHardlinksIfPossible

Volitelné parametry Boolean.

Je-li true, vytvoří pevné odkazy na zkopírované soubory místo provedení kopírování souborů.

Poznámky

Zadán musí být parametr DestinationFolder nebo DestinationFiles, nikoli však oba.Jsou-li zadány oba, úloha selže a je zaznamenána chyba.

Kromě výše uvedených parametrů zdědí tento úkol parametry ze třídy TaskExtension, která sama dědí ze třídy Task.Seznam těchto dalších parametrů a jejich popisy naleznete v tématu TaskExtension – základní třída.

Příklad

Následující příklad zkopíruje položky do kolekce položek MySourceFiles do složky c:\MyProject\Destination.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceFiles Include="a.cs;b.cs;c.cs"/>
    </ItemGroup>

    <Target Name="CopyFiles">
        <Copy
            SourceFiles="@(MySourceFiles)"
            DestinationFolder="c:\MyProject\Destination"
        />
    </Target>

</Project>

Následující příklad ukazuje, jak provádět rekurzivní kopírování.Tento projekt rekurzivně zkopíruje všechny soubory z c:\MySourceTree do c:\MyDestinationTree a zachová struktury adresářů.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceFiles Include="c:\MySourceTree\**\*.*"/>
    </ItemGroup>

    <Target Name="CopyFiles">
        <Copy
            SourceFiles="@(MySourceFiles)"
            DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')"
        />
    </Target>

</Project>

Viz také

Koncepty

Úlohy nástroje MSBuild

Další zdroje

Referenční dokumentace úlohy nástroje MSBuild