可能重复:
Ant任务检查文件是否存在?
如果不使用不同位置的另一个文件,如何检查目录中是否存在一个文件。我尝试了以下内容,但对我想要的东西没有帮助。有人能帮忙吗?
<condition property="somefile.available">
<or>
<available file="/home/doc/somefile"/>
<and>
<available file="/usr/local/somefile" />
</and>
</or>
</condition>
使用条件测试来确定是否存在文件。然后为每个真实条件设定一个目标
<target name="go" depends="file-checks, do-something-with-first-file, do-something-with-second-file"/>
<target name="file-checks">
<available file="/home/doc/somefile" property="first.file.found"/>
<available file="/usr/local/somefile" property="second.file.found"/>
</target>
<target name="do-something-with-first-file" if="first.file.found">
???
</target>
<target name="do-something-with-second-file" if="second.file.found">
???
</target>
如果你不介意使用ant contrib,你可以采取这样的过程方法:
<if>
<available file="file1"/>
<then>
<property name="file.exists" value="true"/>
</then>
<else>
<if>
<available file="file2"/>
<then>
<copy file="file2" tofile="file1"/>
<property name="file.exists" value="true"/>
</then>
</if>
</else>
</if>
否则,您可能会使用一个以设置属性为条件的目标来指示文件是否已经存在于首选位置,比如Ant任务,仅在文件存在的情况下运行Ant目标?但是使用CCD_ 1而不是CCD_。