我正在尝试复制一堆名称以前缀开头的文件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 个文件,但为了清楚起见,我对其进行了修剪