我遇到了这样一种情况,即在包含特定命名格式的文件的目录中获取文件名会更容易。文件名的中间名永远不会改变,但开头和结尾都可以改变。
例如中间的“_ProjectName_Release_Patch_”。有没有办法让我检查一个文件是否像使用NAnt的目录中的名称一样?如果文件具有该名称,请获取filename
?
与SQL LIKE命令类似? %_ProjectName_Release_Patch_%
答案 0 :(得分:1)
由于缺乏更好的解决方案,这对我起了作用。谢谢!
<property name="pattern" value="_ProjectName_Release_Patch_" />
<echo message="Looking..." />
<foreach item="File" property="file">
<in>
<items>
<include name="${Folder}\**.sql" />
</items>
</in>
<do>
<property name="FILE" value="" />
<echo message="Looking for a match of: ${pattern}" />
<regex pattern="(?'FILE'${pattern}.*)" input="${file}" failonerror="false" />
<if test="${string::get-length(FILE) > 0}">
<echo message="match: ${FILE}" />
<property name="file.path" value="${file}" />
</if>
</do>
</foreach>
<property name="PatternFile" value="${file.path}" />
<echo message="The file path is :${PatternFile}" />
&#13;