2012-08-27 35 views
0

如果工作空间最近访问日期超过一周(f.i.),我想从构建代理自动清除工作文件夹。如何在特定时间段后自动清理构建代理工作文件夹

我已经尝试过tfs sidekicks(用于手动测试)和tf命令行,但我只从tfs数据库中删除了工作文件夹信息,并且从指定的生成代理文件夹中删除了物理文件夹。

感谢您的任何提示!

回答

0

我们使用自定义powershell命令来做类似的事情,从以前的版本中删除所有的exe和map文件。

该命令安排在我们的buildagent上以每日运行。

get-childitem e:\ -recurse -include *.exe,*.map | where-object {$_.directory -match "e:\\Build\\[0-9]" } | where-object {$_.lastwritetime -le (get-date).addDays(-7)} | del 

击穿

获取来自电子所有exe文件和映射文件:驱动

get-childitem e:\ -recurse -include *.exe,*.map 

其中的文件夹结构相匹配我们的build文件夹

where-object {$_.directory -match "e:\\Build\\[0-9]" } 

随着最后写于7天前

where-object {$_.lastwritetime -le (get-date).addDays(-7)} 

删除文件

del 
+0

你的命令只适用于文件系统?您不使用tfs命令,也不会同步引用的工作区?工作得很好 - 没有问题? –

+0

目前还没有,但我们几个月前才开始使用TFS。我最初认为构建保留策略会清理我们的构建者,但不知怎的,它似乎并没有这样工作*(我的理解是错误的或者我们的实现是错误的......)*。该脚本创建为一个快速修复,直到我们找到时间进一步调查。 –

+0

伟大的脚本,但是如果像我一样,你得到“没有足够的权限”,请确保你以管理员身份运行PowerShell。如果仍有问题,请在该脚本的末尾添加“-force” – Talon

相关问题