如何使用MSBuild复制目录中所有名为Testresults的子文件夹
解决MSBuild复制所有Testresults子文件夹内容的问题
看起来你是在用MSBuild的Copy任务处理文件复制,但之前的路径匹配写法有点小问题,咱们来调整下就能搞定:
正确的配置示例
要精准找到Test目录下所有嵌套层级里的Testresults文件夹内容,你可以这么写:
<ItemGroup> <!-- 绝对路径写法:确保冒号后加反斜杠,**匹配任意子目录 --> <FilesToCopy Include="C:\Test\**\Testresults\*.*" /> <!-- 如果用相对路径,记得补全目录分隔符 --> <!-- <FilesToCopy Include="..\Test\**\Testresults\*.*" /> --> </ItemGroup> <Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(OutputFolder)\%(RecursiveDir)" />
关键细节说明
**是MSBuild里的通配符,用来匹配任意深度的子目录,这样不管Testresults藏在Test下多少层子文件夹里,都能被找到。%(RecursiveDir)可以保留原文件的相对目录结构,如果不需要保留结构,直接把DestinationFolder写成$(OutputFolder)就行。- 之前的写法要么少了目录分隔符(比如
..\Test**应该是..\Test\**),要么路径格式错误(C:Test应该是C:\Test),这些小疏漏会导致匹配不到文件。
如果还是没成功,记得检查下$(OutputFolder)变量是否正确定义,目标文件夹有没有读写权限哦~
内容的提问来源于stack exchange,提问作者Mee
相关产品推荐
相关产品推荐

