copyやmoveで(filesetと共に使用し)、ファイル名の変換を行うタグ(コアタイプ)。
属性 | 説明 |
---|---|
type="変換形式" | ファイル名変換の形式の名称。 |
from="ファイル名" | 変換するファイル名(ワイルドカード)。 |
to="ファイル名" | 変換後のファイル名(ワイルドカード)。 |
<target name="rename"> <delete dir="tmp"/> <mkdir dir="tmp"/> <copy todir="tmp"> <fileset dir="test" /> <mapper type="glob" from="*" to="*.bk"/> </copy> </target>
testの下のファイル名やディレクトリ名に「*.bk」を加えながらtmpにコピーする。
$ ls -R test
test:
Test.txt dir
test/dir:
d e
$ ls -R tmp
tmp:
Test.txt.bk dir dir.bk
tmp/dir:
d.bk e.bk
tmp/dir.bk:
「~」を付加してコピーするようにしたら、「~」のみの空ディレクトリが出来てしまった…。
ので、どういう指定をしたらどういうファイル名になるか試してみた。
表中の(サンプルで使った)ファイル名・ディレクトリ名は、上記のサンプルの通り。
mapperのto | ディレクトリ・ファイル | |||||
---|---|---|---|---|---|---|
test(tmp)直下 | dir直下 | |||||
Test.txt | dir | dir/d | dir/e | |||
*.bk | Test.txt.bk | dir | dir.bk | dir/d.bk | dir/e.bk | |
*~ | Test.txt~ | dir | dir~ | ~ | dir/d~ | dir/e~ |
bk.* | bk.Test.txt | bk.dir | bk. | bk.dir/d | bk.dir/e | |
~* | ~Test.txt | ~dir | ~ | ~dir/d | ~dir/e | |
pre.*.bk | pre.Test.txt.bk | pre.dir | pre.dir.bk | pre..bk | pre.dir/d.bk | pre.dir/e.bk |
…どういう基準でこうなるのやら、さっぱり。