如何在TFS Build中递归删除通配符文件?

发布于 2024-08-18 12:09:58 字数 161 浏览 6 评论 0原文

我想递归删除与特定模式匹配的文件,作为 TFS Build 中构建后清理例程的一部分。我已经尝试过了......

<Delete Files="T:\DeploymentDir\**\A*" />

构建中没有错误,但它不起作用。

I want to recursively delete files that match a certain pattern as part of my post-build cleanup routines in TFS Build. I've tried this...

<Delete Files="T:\DeploymentDir\**\A*" />

No errors in the build, but it doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抚笙 2024-08-25 12:09:58

修改 TFSBuild.proj 文件并在最后添加以下行(就在关闭之前):

<Target Name="AfterDropBuild">
<ItemGroup>
   <FilesToDelete Include="$(DropLocation)\$(BuildNumber)\**\temp*.*" />
</ItemGroup> 

<Delete Files="@(FilesToDelete)" TreatErrorsAsWarnings="true"/>
</Target>

Modify your TFSBuild.proj file and add the following lines at the very end (just before closing ):

<Target Name="AfterDropBuild">
<ItemGroup>
   <FilesToDelete Include="$(DropLocation)\$(BuildNumber)\**\temp*.*" />
</ItemGroup> 

<Delete Files="@(FilesToDelete)" TreatErrorsAsWarnings="true"/>
</Target>
惜醉颜 2024-08-25 12:09:58

我不认为删除任务会自动扩展通配符。您需要首先指定一个项目组,然后将其传递到删除任务中:

<ItemGroup>
  <FilesToDelete Include="T:\DeploymentDir\**\A*"/>
</ItemGroup>

<Delete Files="@(FilesToDelete)"/>

从 MSBuild 3.5 开始,您可以将项目组包含在与删除任务相同的目标中。

I don't think the Delete task will automatically expand the wildcard. You'll need to specify an itemgroup first, then pass that into the Delete task:

<ItemGroup>
  <FilesToDelete Include="T:\DeploymentDir\**\A*"/>
</ItemGroup>

<Delete Files="@(FilesToDelete)"/>

With MSBuild 3.5 onwards you can include the ItemGroup in the same target as the Delete task.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文