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