对phing目标中的每个文件执行命令

时间:2010-05-13 14:27:28

标签: php phing

如何在phing文件集目标的每个文件上执行目标操作?例如:

<exec command="cat {$filepath}">
  <fileset dir=".">
    <include name="*.php">
  </fileset>
</exec>

2 个答案:

答案 0 :(得分:8)

您可以将foreach任务与文件集一起使用,例如:

<?xml version="1.0" encoding="utf-8"?>
<project name="cat-fileset" basedir="." default="iterate">
    <target name="iterate">
        <foreach param="fname" absparam="abs-fname" target="cat">
            <fileset dir="${project.basedir}">
                <include name="*.php" />
            </fileset>
        </foreach>
    </target>    
    <target name="cat">
        <exec command="cat ${abs-fname}" 
            escape="false"
            checkreturn="true"
            passthru="true" />
    </target>
</project>

请注意,此功能已在Phing版本2.4.0中实现

答案 1 :(得分:1)

<apply executable="cat" parallel="false">
  <fileset dir=".">
    <include name="*.php">
  </fileset>
</apply>