S-JIS[2010-01-10] 変更履歴

Ant:sync

ファイルやディレクトリーを同期(コピー)するコアタスク。
(org.apache.tools.ant.taskdefs.Sync extends Task

copyタスクとの違いは、転送元にファイルが無かった場合、転送先のファイルが削除されること。

最新sync


属性

属性 説明
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>

Ant目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま