在ANT中使用fileset选择一个带有特定文件名或文件类型的文件真的很容易,但是我还没有想出如何编写一个文件集来删除文件名以点开头的所有文件,如.builtpath和.hgignore,但不包括.htaccess;
这是我当前的文件:
<delete includeemptydirs="true">
<fileset dir="${temp.dir}/fromRepo">
<exclude name=".htaccess"/>
<include name="**/*" /> <!-- How to select files starting with .?!-->
</fileset>
</delete>发布于 2011-01-10 02:54:20
建议您尝试:
<delete includeemptydirs="true">
<fileset dir="${temp.dir}/fromRepo">
<exclude name="**/.htaccess"/>
</fileset>
</delete>如果您没有指定任何通配符-就像在".htaccess"中一样,那么该规则将只匹配文件集顶级目录中的确切文件名,即'.htaccess‘。将目录通配符**添加到.htaccess将告诉Ant从删除操作中排除在文件集的目录层次结构下找到的所有名为'.htaccess‘的文件。
如果你不指定任何包含规则,所有文件都会被隐式包含-所以不需要指定‘全局’include。
需要注意的一件事是,将includeemptydirs设置为true将在使用带有删除任务的文件集时删除所有空目录。只有不包含任何文件的目录才会被认为是空的。换句话说:包含名为'.htaccess‘文件的目录不会被删除,但包含'.htaccess’文件的目录也不会被删除--希望这就是你所需要的。
https://stackoverflow.com/questions/4640667
复制相似问题