Udostępnij za pośrednictwem


Kopiuj zadanie

Kopie plików na system plików do nowej lokalizacji.

Parametry

W poniższej tabeli opisano parametry Copy zadania.

Parametr

Opis

CopiedFiles

Opcjonalny ITaskItem[] parametr wyjścia.

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

DestinationFiles

Opcjonalny ITaskItem[] parametr wyjścia.

Określa listę plików do skopiowania plików źródłowych do.Ta lista oczekuje się mapowanie jeden do jednego z listy, określone w SourceFiles parametru.Oznacza to, że pierwszy plik określony w SourceFiles zostaną skopiowane do pierwszej lokalizacji określonej w DestinationFiles, itd.

DestinationFolder

Opcjonalny ITaskItem parametru.

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

OverwriteReadOnlyFiles

Opcjonalny Boolean parametru.

Zastąpić pliki, nawet jeśli są one oznaczone jako odczytu tylko pliki.

Retries

Opcjonalny Int32 parametru.

Określa, ile razy, aby podjąć próbę kopiowania, jeśli wszystkie poprzednie zawiodły.Domyślna wartość zero.

Uwaga: wykorzystania ponownych prób może maskować problem z synchronizacją procesu kompilacji.

RetryDelayMilliseconds

Opcjonalny Int32 parametru.

Określa opóźnienie między wszelkich niezbędnych prób.Domyślna wartość argumentu RetryDelayMillisecondsDefault, który jest przekazywany do konstruktora CopyTask.

SkipUnchangedFiles

Opcjonalny Boolean parametru.

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

UwagaUwaga
Jeśli ten parametr jest ustawiony na true, nie należy używać analiza zależności zawierające wartość docelową, ponieważ tylko który uruchamia zadanie Jeśli last-modified razy pliki źródłowe są nowsze niż last-modified razy plików docelowych.

SourceFiles

Wymagane ITaskItem[] parametru.

Określa pliki do skopiowania.

UseHardlinksIfPossible

Opcjonalny Boolean parametru.

Jeśli true, tworzy łącza twardy skopiowanych 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 TaskExtension klasy, która dziedziczy z Task klasy.Listy te dodatkowe parametry i ich opisy, zobacz Klasa bazowa TaskExtension.

Przykład

W następującym przykładzie skopiowano elementy w MySourceFiles element z kolekcji do folder 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 demonstruje, jak wykonać kopię cykliczne.Ten projekt kopiuje wszystkie rekursywnie plików od c:\MySourceTree do 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

Program MSBuild zadań

Inne zasoby

Zadanie programu MSBuild odniesienia