我正在尝试复制一堆以前缀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个文件,但出于清晰起见,我将其缩短了。