Как муравей может проверить, существует ли диск D - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу скопировать некоторые файлы на диск 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 Ответ

1 голос
/ 24 сентября 2019

Похоже, основная проблема в том, что вы пропустили первую косую черту в ваших каталогах назначения.D:shared/CountrySettings должно быть D:/shared/CountrySettings (или D: \ shared \ CountrySettings, так как вы работаете в Windows).

Я бы также настоятельно рекомендовал по возможности использовать задачу condition нативного Ant вместо ant-contrib, если/ еще функциональность.

    <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...