一つのファイルを新しいファイルや、ディレクトリに移動したり、 ファイルの集合を新しいディレクトリに移動したりします。 デフォルトで、 既に移動出力先にファイルが存在する場合、上書きされます。 overwrite 属性が off の場合、 ソースファイルが移動先ファイルよりも新しいか、 移動先ファイルが存在しない場合にのみ、ファイルが移動します。
todir ディレクトリへ移動するファイルを選択するために、 FileSet が使われます。
| 属性 | 説明 | 必須 |
| file | 移動するファイル | 一つのfileあるいは、 少なくとも一つのネストされたfileset要素 |
| preservelastmodified | 移動されたファイルに、 オリジナルソースファイルと同じ最終更新時刻を設定します。 (注意: Java 1.1では無視) | No; デフォルトはfalse |
| tofile | 移動先のファイル |
file 属性には、
tofile か todir のいずれかが使えます。
ネストされた fileset 要素には、
ファイルセットの数が1よりも大きいか、
dir 属性のみしか
<fileset> 要素中で指定されていないか、
file 属性も指定されている場合、
todir のみが指定可能です。 |
| todir | 移動先ディレクトリ | |
| overwrite | 移動先のファイルが新しくても既存のファイルを上書きします。 (デフォルトは"true") | No |
| filtering | 移動の際に、トークンフィルタを使うかどうか示します。 フィルタの仕組みについての説明は filter タスクをご覧ください。 | No |
| flatten | ソースディレクトリのディレクトリ構造を無視して、
全てのファイルを todir
属性で指定された一つのディレクトリに移動します。
(デフォルトは "false")
flatten mapper
を使っても同じ効果が得られることに注意してください。
[訳注]原文には "copy all files into" とありますが、 "copy" は "move" の間違いだと思います。 |
No |
| includeEmptyDirs |
ネストした fileset に入っている空のディレクトリを移動するか。
デフォルトは"yes"
[訳注]原文には "Copy empty directories ..." とありますが、 "Copy" は "Move" の間違いだと思います。 |
No |
| failonerror | 移動するファイルが存在しない場合や、
ネストされたファイルセットの1つが存在しないディレクトリを指していた場合や、
移動の実行中にエラーが発生した場合に、
警告メッセージをログ出力しますが、ビルドを停止しません。
[訳注]原文には "when the file to copy does not exist ..." とありますが、"copy" は "move" の間違いだと思います。 |
No; デフォルトはtrue |
| verbose | 移動されるファイルのログを取る | No; デフォルトはfalse |
| encoding | フィルタを使用して移動する際に、 ファイルにはこのエンコーディングが使われていると仮定します。 Ant 1.5 から | No; デフォルトは JVM のデフォルトエンコーディング |
| outputencoding | ファイルの書き込みに使われるエンコーディング。 Ant 1.6 から | No; デフォルトは encoding 属性が指定された場合はその値、 指定されなかった場合は JVM のデフォルトエンコーディング |
|
enablemultiplemappings
[訳注]原文では "enablemultiplemapping" と単数形ですが、 正しくは、複数形の "enablemultiplemappings" だと思います。 複数形で指定しないとエラーになります。 |
値が true の場合は、 ソースパスの各ファイル/ディレクトリに対する(1つ以上の)マッピング結果をすべて処理します。 false の場合は(マッピング結果の)最初のファイルかディレクトリだけを処理します。 この属性はネストした mapper 要素が存在する場合のみ効果があります。 Ant 1.6 から | No; デフォルトはfalse |
mapper 要素をネストすることにより、
ファイル名の変換を定義できます。
<move> で使われるデフォルトの mapper は
identity です。
[訳注]原文には "The default mapper used by <copy> is ..."
とありますが、"<copy>" は "<move>"
の間違いだと思います。
move タスクはネストされた FilterChain をサポートしています。
<filterset> 要素と <filterchain> 要素を、 ひとつの <move> タスク内で同時に使用した場合は、 まず最初に全ての <filterchain> 要素が処理されて、 そのあとに <filterset> 要素が処理されます。
一つのファイルの移動 (ファイル名の変更)
<move file="file.orig" tofile="file.moved"/>
一つのファイルをディレクトリに移動
<move file="file.orig" todir="dir/to/move/to"/>
あるディレクトリを別のディレクトリに移動
<move todir="new/dir/to/move/to">
<fileset dir="src/dir"/>
</move>
ファイルの集合を、あるディレクトリに移動
<move todir="some/new/dir">
<fileset dir="my/src/dir">
<include name="**/*.jar"/>
<exclude name="**/ant.jar"/>
</fileset>
</move>
あるディレクトリ内の全てのファイルのファイル名に
".bak" を追加
<move todir="my/src/dir" includeemptydirs="false">
<fileset dir="my/src/dir">
<exclude name="**/*.bak"/>
</fileset>
<mapper type="glob" from="*" to="*.bak"/>
</move>
Copyright © 2000-2004 The Apache Software Foundation. All rights Reserved.