【发布时间】:2011-11-02 21:13:39
【问题描述】:
我正在尝试复制一堆名称以前缀DR__ 开头的文件,但副本必须删除该前缀。也就是说,DR__foo 必须复制为 foo。我正在尝试这个,它基于文档(.chm)中提供的示例:
<Target Name="CopyAuxiliaryFiles">
<MakeDir Directories="$(TargetDir)Parameters" Condition="!Exists('$(TargetDir)Parameters')" />
<ItemGroup>
<ContextVisionParameterFiles Include="$(SolutionDir)CVParameters\DR__*" />
</ItemGroup>
<Message Text="Files to copy and rename: @(ContextVisionParameterFiles)"/>
<RegexReplace Input="@(ContextVisionParametersFiles)" Expression="DR__" Replacement="">
<Output ItemName ="DestinationFullPath" TaskParameter="Output" />
</RegexReplace>
<Message Text="Renamed Files: @(DestinationFullPath)"/>
<Copy SourceFiles="@(ContextVisionParameterFiles)" DestinationFiles="@(DestinationFullPath)" />
</Target>
DestinationFullPath 显示为空(或者当我使用Message 显示它时,我看到的就是这个)。因此,Copy 失败,因为没有指定 DestinationFiles。这里有什么问题?
编辑:ContextVisionParameterFiles 不为空,它包含以下内容:
D:\SVN.DRA.WorkingCopy\CVParameters\DR__big_bone.alut;D:\SVN.DRA.WorkingCopy\CVParameters\DR__big_medium.gop
它们实际上是 40 个文件,但为了清楚起见,我对其进行了修剪
【问题讨论】:
标签: msbuild copy rename msbuildcommunitytasks