如何使用msbuild在单个操作中复制和修改相对路径?

时间:2013-06-08 09:12:51

标签: msbuild

我对msbuild很陌生,对以下问题感到困惑。假设我有以下文件结构:

foo\bin\folder1_OK\file1.txt
foo\bin\folder1_OK\sub\file2.txt
foo\bin\folder2_NOK\file3.txt
bar\bin\folder3_OK\file4.txt

使用msbuild我想将名称以“_OK”结尾的所有文件夹和基础内容复制到我的放置位置。我还想摆脱中间'bin'文件夹。在示例中,我希望输出结构为:

foo\folder1_OK\file1.txt
foo\folder1_OK\sub\file2.txt
bar\folder3_OK\file4.txt

这可以通过一次操作实现吗?如果include属性为'*** _ OK *',则RecursiveDir元数据仍包含bin文件夹。我可以用一个聪明的技巧来解决这个问题吗?或者我应该在复制操作后更好地使用连续移动任务吗?

1 个答案:

答案 0 :(得分:0)

该过程根据输入路径+文件名生成目标路径+文件名列表。

如果使用MSBuild4,则可以使用Property函数使用regex修改目录名称。

然后您可以使用复制任务来复制这些文件。

如果您不使用msbuild4,则必须编写自定义任务以生成输出列表。