解答例 - 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)を用意しております。