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