Как переименовать папку с помощью Ant? - PullRequest
12 голосов
/ 25 июня 2009

Я хочу переименовать папку своего приложения с отметкой времени, а затем разархивировать более новую версию моего приложения, используя то же имя папки. Используя Ant (move задача) , создается впечатление, что вы можете перемещать содержимое из одной папки в другую.

Это единственный способ, которым я могу сделать это в Ant?

Ответы [ 4 ]

20 голосов
/ 17 октября 2011

Задача перемещения делает то, что вам нужно, но названия немного сбивают с толку. Если вы считаете, что ваш каталог - это «файл» в смысле Java - файл, являющийся дескриптором файловой системы, который может представлять, среди прочего, каталог или файл в обычном смысле, - тогда задача перемещения имеет смысл.

Итак, следующее

<move file="mySourceDirName" tofile="myTargetDirName"/>

означает переименование / перемещение каталога mySourceDirName вместо myTargetDirName.

Следующее затем

<move file="mySourceDirName" todir="someExistingDir"/>

означает перемещение каталога mySourceDirName, чтобы стать дочерним каталогом существующего каталога someExistingDir.

Таким образом, в ant атрибут «file» относится к рассматриваемой цели, а атрибут «todir» относится к каталогу, который является новым родительским расположением для целевого файла или каталога.

4 голосов
/ 29 июня 2009

Просто изложив уже полученный ответ, который является правильным ...

<project default="move">
    <tstamp/>
    <target name="move">
        <move file="foo" tofile="foo-${TSTAMP}"/>
    </target>
</project>

Это перемещает foo в foo-HHMM.

Например:

$ find .
.
./build.xml
./foo
./foo/bar.txt
$
$ ant
Buildfile: C:\tmp\ant\build.xml

move:

BUILD SUCCESSFUL
Total time: 0 seconds
$
$ find .
.
./build.xml
./foo-1145
./foo-1145/bar.txt
$
1 голос
/ 01 ноября 2016

Если вы хотите переименовать папку, вы можете использовать метку перемещения, но есть загадочный способ ее использования. Как сказал @phasmal, вы можете использовать команду move, но она перемещает папку в нужную папку. Если вы просто хотите переименовать, попробуйте следующее.

<move todir="newname">
   <fileset dir="directory tobe renamed "/>
</move>
0 голосов
/ 25 июня 2009

Я думаю, что задача перемещения - это то, что вы хотите. Есть ли причина, по которой вы не хотите его использовать?

Похоже, вы предлагаете переместить папку, в которой находится ваш файл build.xml. Это правильно? Если это так, я думаю, что муравей может быть не очень счастлив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...