2014-04-03 31 views
0

我有一個MSBuild腳本將特定文件從源文件複製到目標文件,如下所示。 我不想給* .txt,但給文件名,因爲我只想要這些文件。 這裏的目錄「E:\ Test100 \」被重複多次(我可以把它放在一個屬性中,但屬性會重複)。如何將特定文件從同一位置複製到目的地?

有沒有一種方法可以簡化這個從特定的目錄中引用這些文件,這個文件是一次定義的?

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="CopyAllFiles"> 
    <ItemGroup Label="FilesToCopy"> 
     <File Include="E:\Test100\1.txt"/> 
     <File Include="E:\Test100\2.txt"/> 
     <File Include="E:\Test100\3.txt"/> 
     <File Include="E:\Test100\4.txt"/> 
     <File Include="E:\Test100\5.txt"/> 
     <File Include="E:\Test100\6.txt"/> 
     <File Include="E:\Test100\7.txt"/> 
     <File Include="E:\Test100\8.txt"/> 
    </ItemGroup> 
    <Copy SourceFiles="@(File)" 
      DestinationFolder="E:\TestCopyFiles\" 
      Retries="10" 
      RetryDelayMilliseconds="100"> 
    </Copy> 
    </Target> 
</Project> 

注意:MSBuild腳本和文件位於不同的目錄中。

回答

1

看看有關msbuild batching/list ttransformation等文檔。你想要的是msbuild可以處理列表的典型方式 - 如果你想保持重複到最低限度,你甚至不需要指定。 txt部分:

<ItemGroup Label="FilesToCopy"> 
    <FileName Include="1"/> 
    <FileName Include="2"/> 
    <FileName Include="3"/> 
    <FileName Include="4"/> 
    <FileName Include="5"/> 
    <FileName Include="6"/> 
    <FileName Include="7"/> 
    <FileName Include="8"/> 
</ItemGroup> 
<ItemGroup> 
    <File Include="E:\Test100\%(FileName.Identity).txt"/> 
</ItemGroup> 
+0

謝謝,它的工作原理... –

相關問題