ファイルやディレクトリーを同期(コピー)するコアタスク。
(org.apache.tools.ant.taskdefs.Sync extends
Task)
copyタスクとの違いは、転送元にファイルが無かった場合、転送先のファイルが削除されること。
属性 | 説明 |
---|---|
todir="ディレクトリ名" | コピー先のディレクトリ名。 |
overwrite="true" | trueにすると、常にコピーする。 falseにすると、コピー先にファイルが存在してそちらの方が新しい場合はコピーしない。 デフォルトはfalse。 |
includeEmptyDirs="true" | falseにすると、空のディレクトリーは転送先で削除される。 trueにすると、空のディレクトリーのまま残る。 デフォルトはfalse。 |
verbose="false" | trueにすると、コピーするファイルのファイル名を表示する。 |
C:\temp\fromの下にあるディレクトリーとファイルをC:\temp\toの下にコピーする例。
<target name="backup">
<sync todir="C:\temp\to" includeEmptyDirs="yes" verbose="true">
<fileset dir="c:\temp\from" includes="**/*" />
</sync>
</target>
C:\temp\fromの下のaaa,bbbというディレクトリーを順番にコピーする例。
<target name="sync2"> <macrodef name="sync.mac"> <attribute name="dir" /> <sequential> <echo message="@{dir}" /> <sync todir="C:\temp\to\@{dir}" includeEmptyDirs="true"> <fileset dir="C:\temp\from\@{dir}" /> </sync> </sequential> </macrodef> <sync.mac dir="aaa" /> <sync.mac dir="bbb" /> </target>