NAnt - 在包含特定单词的文件夹中获取文件名

时间:2014-10-14 21:06:24

标签: c# nant

我遇到了这样一种情况,即在包含特定命名格式的文件的目录中获取文件名会更容易。文件名的中间名永远不会改变,但开头和结尾都可以改变。

例如中间的“_ProjectName_Release_Patch_”。有没有办法让我检查一个文件是否像使用NAnt的目录中的名称一样?如果文件具有该名称,请获取filename

与SQL LIKE命令类似? %_ProjectName_Release_Patch_%

1 个答案:

答案 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;
&#13;
&#13;