如何使用Ant检查文件夹是否存在?
我们可以检查文件的存在,但是我们也可以对文件夹做同样的事情吗?
发布于 2013-06-14 18:07:18
这是我的解决方案,它不需要设置属性和使用带有'if‘或’除非‘的目标:
宏:
<macrodef name="assertDirAvailable">
<attribute name="dir" />
<sequential>
<fail message="The directory '@{dir}' was expected to be available but is not">
<condition>
<not>
<available file="@{dir}" type="dir" />
</not>
</condition>
</fail>
</sequential>
</macrodef>
用法:
<assertDirAvailable dir="${dirToCheck}" />
发布于 2015-11-27 05:21:26
这是另一种方法,允许在不使用ant-contri.jar的情况下只调用一个任务。
<target name="my-task" depends="dir-check">
<antcall target="my-task-install"/>
<antcall target="my-task-update"/>
</target>
<target name="my-task-install" unless="dir.exists" >
{some task}
</target>
<target name="my-task-update" if="dir.exists" >
{another task}
</target>
<target name="dir-check">
<condition property="dir.exists">
<available file="my-dir" type="dir" />
</condition>
</target>
发布于 2019-10-18 19:46:31
这是另一个涉及for
循环的例子。如果目录不存在,则失败。
<for list="dir1/, dir2/, dir3/" param="local.dir" >
<sequential>
<fail message="Directory @{local.dir} does not exist">
<condition>
<not>
<available file="@{local.dir}" type="dir" />
</not>
</condition>
</fail>
</sequential>
</for>
https://stackoverflow.com/questions/1163998
复制相似问题