- Home ›
- Apache Antの使い方 ›
- Deleteタスク(削除) ›
- HERE
<fileset>による削除ファイルの指定
前のページの削除するファイルを「file」属性又は「dir」属性で指定していましたが、<fileset>要素を使って削除するファイルを指定することが出来ます。
<fileset>について詳細は『<fileset>によるコピー元ファイルの指定』を参照して下さい。
例えば「class」ディレクトリに含まれる全てのファイルを削除する場合は下記のようになります。
<delete> <fileset dir="./class" /> </delete>
全てのファイルではなく、特定のファイルを指定する場合には「includes」属性を使います。例えばクラスファイルだけを対象にする場合には下記のようになります。
<delete> <fileset dir="./class" includes="*.class" /> </delete>
ファイルの集合から除外したいファイルを指定するには「excludes」属性を使います。例えばクラスファイルは対象から外す場合には下記のようになります。
<delete> <fileset dir="./class" includes="*.class" /> </delete>
他にも<include>要素と<exclude>要素などを使っても指定可能です。詳しくは『<fileset>によるコピー元ファイルの指定』を参照して下さい。
では実際に試してみましょう。構成は下記の通りです。
-sample8 build.xml
|
+--back test.java
sample1.java
sample2.java
test.class.bak
sample1.class.bak
sample2.class.bak
「back」ディレクトリにある拡張子「.bak」のファイルを削除してみます。ただし「test.class.bak」は削除しません。
ビルドファイルは下記です。
<?xml version="1.0" encoding="Shift_JIS"?>
<project name="antsample" default="delete">
<target name="delete">
<delete verbose="true">
<fileset dir="./back"
includes="*.class.bak"
excludes="test*"
/>
</delete>
</target>
</project>
antを実行してみます。
指定したファイルだけが削除されているのが確認できます。
( Written by Tatsuo Ikura )
JavaDrive