蚂蚁如何检查驱动器D是否存在

时间:2019-09-22 23:48:56

标签: ant

我想将某些文件复制到D驱动器,但是在测试环境中只有C驱动器,所以我想添加条件以首先检查是否有D驱动器,否则将文件复制到C。

<if>
                <available file="D:\" />
                <then>
                    <copy todir="D:shared/CountrySettings" overwrite="true">
                        <fileset dir="${dist.CountrySettings.dir}/cfg" />
                    </copy>
                </then>
                <else>
                    <copy todir="C:shared/CountrySettings" overwrite="true">
                        <fileset dir="${dist.CountrySettings.dir}/cfg" />
                    </copy>
                </else>
            </if>

似乎不正确,如何解决?

1 个答案:

答案 0 :(得分:1)

主要问题在于您在目标目录中缺少第一个斜杠。 D:shared/CountrySettings应该为D:/shared/CountrySettings(或D:\ shared \ CountrySettings,因为您使用的是Windows)。

我还强烈建议尽可能使用本机Ant的condition任务,而不是使用ant-contrib的if / else功能。

    <condition property="dest.dir" value="D:\shared\CountrySettings" else="C:\shared\CountrySettings">
        <available file="D:\" />
    </condition>

    <copy todir="${dest.dir}" overwrite="true">
        <fileset dir="${dist.CountrySettings.dir}/cfg" />
    </copy>