如何使用 Move MSBuild 任务和通配符移动一堆文件?

2023-11-25

我有一个文件夹,其中的文件名称以App_Web_并以.dll。我不知道这些部分之间有什么,也不知道文件的数量。我需要 MSBuild 将这些文件移动到另一个文件夹中。

所以我写了这个:

<Move
    SourceFiles="c:\source\App_Web_*.dll"
    DestinationFolder="c:\target"
/>

但是当目标运行时我得到以下输出:

error MSB3680: The source file "c:\source\App_Web_*.dll" does not exist.

文件肯定在那里。

我究竟做错了什么?如何移动文件?


您不能在任务参数中直接使用正则表达式。您需要创建一个包含要移动的文件列表的项目并将其内容传递给任务:

<ItemGroup>
    <FilesToMove Include="c:\source\App_Web_*.dll"/>
</ItemGroup>

MSBuild 将在将正则表达式传递给任务执行器之前对其进行扩展。所以稍后在某个目标中您可以调用Move task:

<Target Name="Build">
    <Move
        SourceFiles="@(FilesToMove)"
        DestinationFolder="C:\target"
    />
</Target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Move MSBuild 任务和通配符移动一堆文件? 的相关文章

随机推荐