Kopyalama Görevi
Yeni bir konuma dosya sistemindeki dosyaları kopyalar.
Parametreler
Aşağıdaki tablo Copy görevinin parametrelerini açıklar.
Parametre |
Tanımlama |
---|---|
CopiedFiles |
İsteğe bağlı ITaskItem[] çıkış parametresi. Başarılı bir şekilde kopyalandı öğeleri içerir. |
DestinationFiles |
İsteğe bağlı ITaskItem[] parametresi. Kaynak dosyaların kopyalanması gereken dosya listesini belirtir.Bu listede belirtilen liste ile bire bir eşleme olması beklenen SourceFiles parametre.Diğer bir deyişle, belirtilen ilk dosyanın SourceFiles belirtilen ilk konumuna kopyalanacaktır DestinationFiles, ve benzeri. |
DestinationFolder |
İsteğe bağlı ITaskItem parametresi. Dosyaları kopyalamak istediğiniz dizini belirtir.Bu, bir dosyanın bir dizin olmalıdır.Dizin yoksa, otomatik olarak oluşturulur. |
OverwriteReadOnlyFiles |
İsteğe bağlı Boolean parametresi. Yalnızca okuma dosyaları olarak işaretlenmiş olsa bile, dosyaların üzerine yaz |
Retries |
İsteğe bağlı Int32 parametresi. Kopyalamak, önceki tüm denemeler baarısız olursa denemek için kaç kez belirtir.Varsayılan değer sıfır. Not: deneme kullanımı eşitleme sorunu yapı işleminizin maskeleyebilirsiniz. |
RetryDelayMilliseconds |
İsteğe bağlı Int32 parametresi. Gerekli tüm yeniden denemeler arasındaki gecikme süresini belirtir.Varsayılan olarak CopyTask yapıcısına iletilen RetryDelayMillisecondsDefault bağımsız değişkeni. |
SkipUnchangedFiles |
İsteğe bağlı Boolean parametresi. Yoksa true, kaynak ve hedef değiştirilmemiş dosyaları kopyalama atlar.Copy Görev dosyaları aynı boyuta sahip oldukları aynı son değiştirme ve değişmemiş olarak dikkate alır.
|
SourceFiles |
Gerekli ITaskItem[] parametre. Kopyalanacak dosyaları belirtir. |
UseHardlinksIfPossible |
İsteğe bağlı Boolean parametresi. Yoksa true, dosyaları kopyalamak yerine kopyalanan dosyalar için sabit bağlantılar oluşturur. |
Notlar
Ya da DestinationFolder veya DestinationFiles parametresi, belirtilen, ancak ikisi birden değil olmalıdır.Her ikisi de belirtilirse, görev başarısız olur ve bir hata günlüğe kaydedilir.
Yukarıda listelenen parametrelere ek olarak, bu görev TaskExtension sınıfından parametreleri devralır; bu sınıf da Task sınıfından devralınmıştır.Bu ek parametrelerin ve tanımlamaların bir listesi için, bkz. TaskExtension Taban Sınıfı.
Örnek
Aşağıdaki örnek öğeleri kopyalar MySourceFiles klasörü c:\MyProject\Destination koleksiyonuna öğe.
<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>
Aşağıdaki örnek bir yinelenen kopya bunu nasıl yapacağınızı gösterir.Bu proje tüm dosyaları yinelemeli olarak c:\MySourceTree c:\MyDestinationTree dizin yapısını koruyarak kopyalar.
<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>