解答例 - 4.データ構造2
(実習課題1)
カレントディレクトリに存在するsrcディレクトリ以下のすべてのファイルを、ディレクトリ構造そのままでdestディレクトリ以下へコピーする処理をCopyタスクを用いて作成して下さい。ただし、このときファイル名が「tmp」で始まるものと「.tmp」終わるものについてはコピーしないようにして下さい。またコピー先のファイル名は、もとのファイル名の最後に「.bak」を追加したものにして下さい。
なお、Copyタスクでは、コピー元のファイルをファイルセット子要素で指定し、コピー先のディレクトリはtodir属性で指定します。またファイル名の変換規則はマッパ−子要素で指定します。
解答例
▼解答例<?xml version="1.0" encoding="Windows-31J"?>
<!--
* build.xml
* TECHSCORE Java Ant 4章 実習課題
*
* Copyright (c) 2004 Four-Dimensional Data, Inc.
-->
<project name="chapter4" default="copy" basedir=".">
<!--ディレクトリ名のプロパティ -->
<property name="src" value="src" />
<property name="dest" value="dest" />
<!--パターン-->
<patternset id="copyfiles">
<include name="**/*" />
<exclude name="**/tmp*" />
<exclude name="**/*tmp" />
</patternset>
<!--ディレクトリごとコピー -->
<target name="copy" >
<echo message="Copying backup of directory!"/>
<copy todir="${dest}" includeEmptyDirs="no">
<fileset dir="${src}" defaultexcludes="no" >
<patternset refid="copyfiles"/>
</fileset>
<mapper type="glob" from="*" to="*.bak"/>
</copy>
</target>
</project>
▼テスト用サンプルデータ
サンプルとしてテスト用データ(sampleData4-1.lzh)を用意しております。

