我希望能够使用msbuild中的复制任务将位置为静态的单个文件复制到特定目录内的所有文件夹中-唯一的事情是我需要“所有文件夹”部分是动态的,因为我不知道它们的名称。我可以很好地将文件复制到单个目录,甚至可以复制到多个目录(当我通过名称指定目标文件夹路径时),但我希望能够复制到给定目录中存在的任意多个文件夹,即使这些文件夹是空的(这是我似乎无法解决的另一个问题)。如何使用msbuild复制任务将一个文件(已知位置)复制到目录中的X个文件夹(名称未知)?
发布于 2016-09-16 15:39:19
首先是要复制到的list the directories,然后使用item batching将文件复制到其中的每一个。
<!--declare the source file and target directories somewhere-->
<PropertyGroup>
<MyTargetDir>c:\temp</MyTargetDir>
<MySourceFile>c:\somefile</MySourceFile>
</PropertyGroup>
<Target Name="CopyToSubDirs">
<!--list dirs-->
<ItemGroup>
<TargetDirs Include="$([System.IO.Directory]::GetDirectories(`$(MyTargetDir)`))"/>
</ItemGroup>
<!--copy to each dir-->
<Copy SourceFiles="$(MySourceFile)" DestinationFolder="%(TargetDirs.Identity)"/>
</Target>https://stackoverflow.com/questions/39520802
复制相似问题