我想用時間戳重命名我的應用程序文件夾,然後使用相同的文件夾名稱解壓我的應用程序的較新版本。使用Ant (move
task),看起來您可以將內容從一個文件夾移動到另一個文件夾。如何使用Ant重命名文件夾?
這是我能在螞蟻做到這一點的唯一途徑?
我想用時間戳重命名我的應用程序文件夾,然後使用相同的文件夾名稱解壓我的應用程序的較新版本。使用Ant (move
task),看起來您可以將內容從一個文件夾移動到另一個文件夾。如何使用Ant重命名文件夾?
這是我能在螞蟻做到這一點的唯一途徑?
我認爲此舉任務是你想要的。有沒有理由不想使用它?
這聽起來像你提出移動文件夾中,你的build.xml文件的生活。是對的嗎?如果是這樣,我想螞蟻可能不會太高興。
就拼出已經給出了答案,這是正確的...
<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
$
我將tofile改爲todir,它工作正常。謝謝。 – JLau 2009-07-01 18:54:52
我試過tofile和todir,都沒有工作。它抱怨'foo'找不到 - 它存在,但是是一個目錄。 – 2011-10-13 10:35:46
此舉任務並做你以後,但命名比較混亂。如果你認爲你的目錄是Java文件中的'文件' - 一個文件是一個文件系統句柄,可以表示一個通常意義上的目錄或文件,然後這個移動任務是有意義的。
所以下面
<move file="mySourceDirName" tofile="myTargetDirName"/>
方式重命名/移動目錄mySourceDirName
是不是myTargetDirName
。
下然後
<move file="mySourceDirName" todir="someExistingDir"/>
意味着移動目錄mySourceDirName
成爲現有someExistingDir
目錄的子目錄。
所以,在螞蟻的「文件」屬性指的是有問題的目標,和「todir」屬性指的是目標文件或目錄的新的父位置的目錄。
如果要重命名的文件夾,您可以使用移動標籤,但它沒有使用它一個神祕的方式。由於@phasmal說你可以使用移動,但它會移動所需文件夾內的文件夾。如果您只想重命名,請嘗試以下操作。
<move todir="newname">
<fileset dir="directory tobe renamed "/>
</move>
現在在我的build.xml中我有它來刪除該文件夾,然後解壓zip文件,該文件會自動創建一個具有相同文件夾名稱的新文件夾。現在,而不是刪除該文件夾,我想要重新命名一個時間戳附加到文件夾名稱。 – JLau 2009-06-25 12:51:44