TFS Build 在发布前删除所有匹配模式的文件

TFS Build Delete all files matching pattern before publishing

我试图在发布之前删除与我的构建输出目录中的一组模式匹配的任何目录中的所有文件,但它没有找到与我定义的模式匹配的任何内容。我使用的模式是:

**\?(*.cfg|*.config|*.xml)\**

我在我的构建中启用了 system.debug,我可以在我指定的源目录中看到以下文件:

2018-03-12T00:43:31.5264940Z ##[debug] C:\agent3\_work\nsis_workspace\AutoBagPack.log4net.config 2018-03-12T00:43:31.5264940Z ##[debug] is a file

上面的文件应该匹配我的最小匹配模式的 *.config 部分,但是在这个任务的日志末尾我看到:

2018-03-12T00:43:32.4327498Z ##[debug]2454 results 2018-03-12T00:43:32.4327498Z ##[debug]match patterns: C:\agent3\_work\nsis_workspace\**\?(*.cfg|*.config|*.xml)\** 2018-03-12T00:43:32.4327498Z ##[debug]match options: [object Object] 2018-03-12T00:43:32.4327498Z ##[debug]applying pattern: C:\agent3\_work\nsis_workspace\**\?(*.cfg|*.config|*.xml)\** 2018-03-12T00:43:32.5108753Z ##[debug]matched 0 items

我的源路径定义为并且可以在日志中看到:

2018-03-12T00:43:31.4952438Z ##[debug]SourceFolder=C:\agent3\_work\nsis_workspace 2018-03-12T00:43:31.4952438Z ##[debug]BuildCleanup=null 2018-03-12T00:43:31.4952438Z ##[debug]patterns: C:\agent3\_work\nsis_workspace\**\?(*.cfg|*.config|*.xml)\**

为什么所有*.cfg、*.config、*.xml文件都没有被删除?

在删除文件任务中改用此代码(多行):

**/*.cfg
**/*.xml
**/*.config

或者

**/?(*.xml|*.cfg|*.config)