Udostępnij za pośrednictwem


Copy — Zadanie

Kopiuje pliki do nowej lokalizacji w systemie plików.

Parametry

W poniższej tabeli przedstawiono parametry zadania Copy.

Parametr

Opis

CopiedFiles

Parametr opcjonalny ITaskItem[] wyjściowy.

Zawiera elementy, które zostały pomyślnie skopiowane.

DestinationFiles

Parametr opcjonalny ITaskItem[].

Określa listę plików do skopiowania plików źródłowych do.Ta lista ma być mapowanie jeden do jednego na listę określoną w SourceFiles parametru.Oznacza to, że pierwszy plik określony w SourceFiles są kopiowane do pierwszej lokalizacji określonej w DestinationFiles, i tak dalej.

DestinationFolder

Parametr opcjonalny ITaskItem.

Określa katalog, do którego chcesz skopiować pliki.Musi to być katalogiem, nie plikiem.Jeśli katalog nie istnieje, zostanie utworzony automatycznie.

OverwriteReadOnlyFiles

Parametr opcjonalny Boolean.

Zastąpienie plików, nawet jeśli są one oznaczone jako odczytu tylko plików

Retries

Parametr opcjonalny Int32.

Określa, ile razy, aby podjąć próbę kopiowania, jeśli wszystkie poprzednie próby zawiodły.Wartością domyślną jest zero.

Uwaga: stosowania ponownych prób można maskować problem z synchronizacją w proces kompilacji.

RetryDelayMilliseconds

Parametr opcjonalny Int32.

Określa opóźnienie między kolejnymi wszelkie niezbędne.Wartością domyślną jest argument RetryDelayMillisecondsDefault, który jest przekazywany do konstruktora CopyTask.

SkipUnchangedFiles

Parametr opcjonalny Boolean.

Jeśli true, pomija kopiowania plików, które uległy zmianie między źródłowym a docelowym.Copy Zadanie uzna pliki na niezmienionym poziomie, jeśli mają one taki sam rozmiar i taki sam czas ostatniej modyfikacji.

[!UWAGA]

Jeśli ten parametr zostanie ustawiony na true, nie należy używać analizy zależności zawierające wartość docelową, ponieważ tylko który uruchamia zadanie Jeśli ostatniej modyfikacji razy pliki źródłowe są nowsze niż ostatniej modyfikacji razy pliki docelowe.

SourceFiles

Wymagane ITaskItem[] parametru.

Określa pliki do skopiowania.

UseHardlinksIfPossible

Parametr opcjonalny Boolean.

Jeśli true, tworzy łącza stałe dla kopiowanych plików zamiast kopiowania plików.

Uwagi

Albo DestinationFolder lub DestinationFiles parametr musi być określony, ale nie obu.Jeśli są określone oba zadania nie powiedzie się i zostanie zarejestrowany błąd.

Oprócz parametrów wymienionych powyżej, to zadanie dziedziczy parametry z klasy TaskExtension, która sama dziedziczy z klasy Task.Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz TaskExtension — Klasa podstawowa.

Przykład

Poniższy przykład kopiuje elementy w MySourceFiles przedmiotu kolekcji do folderu 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>

Poniższy przykład pokazuje, jak zrobić kopię cykliczne.Ten projekt kopiuje wszystkie pliki rekursywnie z c:\MySourceTree w c:\MyDestinationTree, przy zachowaniu struktury katalogów.

<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>

Zobacz też

Koncepcje

Zadania programu MSBuild

Inne zasoby

Odwołanie do zadania MSBuild