删除目录内容而不删除目录本身


delete directory contents without directory itself

我正在尝试自动化我的PHP构建,其中一部分是从目录中删除选定的内容,如下面的片段所示

<delete verbose="${phing.verbose}">
    <fileset dir="${svn.exportDir}/includes" casesensitive="false">
        <exclude name="alerts.php"/>
        <exclude name="config.php"/>
        <exclude name="${client.name}_config.php"/>
        <exclude name="defaults.php"/>
        <exclude name="func.inc.php"/>
    </fileset>
</delete>

现在,上面的代码也删除了includes文件夹,这显然是不可取的。Phing不了解

 dir="${svn.exportDir}/includes/**"

(directory includes/** not found),并添加

<exclude name="${svn.exportDir}/includes"/>

删除任务有点尴尬,所以我想知道是否有更好的方法可以用phing从目录中删除选定的内容?

这是一个已知的bug,请参阅http://www.phing.info/trac/ticket/796应该使用2.9+版本

对我来说,它目前在2.9.1 上不起作用

我刚刚自己尝试过,同样的代码不会删除include文件夹。唯一的方法是将includemptydir设置为true。也许这是版本问题,但我还是会试着这样称呼它:

<delete includeemptydirs="false">
    <fileset dir="folder" casesensitive="false">
        <exclude name="excluded.php"/>
    </fileset>
</delete>