【问题标题】:Copying a single file to multiple (dynamic) destinations将单个文件复制到多个(动态)目标
【发布时间】:2016-09-15 21:42:00
【问题描述】:

我希望能够使用 msbuild 中的复制任务将其位置为静态的单个文件复制到特定目录内的所有文件夹——唯一的事情是我需要“所有文件夹”部分是动态的,因为我不知道他们的名字。我可以将文件复制到单个目录就好了,当我按名称指定目标文件夹路径时,我什至可以复制到多个目录,但我希望能够复制到给定目录中存在的任何文件夹,即使这些文件夹是空的(这是我似乎无法解决的另一个问题)。如何使用 msbuild 复制任务将一个文件(已知位置)复制到目录内的 X 个文件夹(名称未知)?

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    首先要复制到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>
    

    【讨论】:

      猜你喜欢
      • 2017-11-11
      • 1970-01-01
      • 2019-09-01
      • 2017-05-02
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多