如何指定匹配*〜的文件?

时间:2012-03-10 01:17:36

标签: ant delete-file

我有以下蚂蚁目标:

  <delete>
    <fileset dir="${qnaire_dir}" includes="**/*~" />
  </delete>

它不会删除以下文件:

./DETAILS~
./qnaire/__init__.py~
./qtest.py~
./README~

匹配这些文件的正确包含值是什么?

2 个答案:

答案 0 :(得分:2)

我找到了答案!我正在寻找的语法:

  <defaultexcludes remove="**/*~" />
  <delete>
    <fileset dir="${qnaire_dir}" includes="**/*~" />
  </delete>
  <defaultexcludes default="true" />

在略读删除任务的ant文档(http://ant.apache.org/manual/Tasks/delete.html)之后,我终于注意到了这句话:

  

如果您使用此任务删除由编辑器创建的临时文件,但它似乎不起作用,请阅读   在基于目录的任务中设置默认排除项,并查看defaultexcludes属性   下面。

所以我去看了一下defaultexludes。事实证明,默认情况下,ant从所有基于目录的任务中排除一组文件表达式。这些列在此处:http://ant.apache.org/manual/dirtasks.html#defaultexcludes

添加第一个defaultexludes元素并从列表中删除'*〜'允许后续删除任务执行正确的操作。第二个defaultexcludes元素将默认排除列表放回原位。

答案 1 :(得分:0)

如果你需要正则表达式,这与〜

匹配
.*\~