単一ファイル、指定されたディレクトリとそのすべてのファイルとサブディレクトリ、または1つ以上のリソースコレクションで指定されたファイルセットを削除します。<fileset>
の文字通りの意味は、ディレクトリは含まれないということです。ただし、includeEmptyDirs属性をtrue
に設定することで、ネストされたfilesetを使用する場合、空のディレクトリの削除をトリガーできます。この属性は、ディレクトリを含むさまざまなリソースコレクションの種類のコンテキストでは意味がありませんが、いずれの場合も、空でないディレクトリを削除しようとする試みは行われません。ディレクトリが空かどうかは、ファイルシステムを参照することで判断されます。インクルードまたはエクスクルードパターンはここで適用されません。
このタスクを使用してエディタによって作成された一時ファイルを削除しても機能しない場合は、ディレクトリベースのタスクのデフォルトの除外セットについて読み、以下のdefaultexcludes
属性を参照してください。
歴史的な理由から、<delete dir="x"/>
は<delete><fileset dir="x"/></delete>
とは異なります。これは、x
内にあるすべて(x
自体を含む)を削除しようとします。デフォルトの除外は考慮されず、すべてのシンボリックリンクを盲目的に追跡します。より細かい制御が必要な場合は、ネストされた<fileset>
を使用してください。
属性 | 説明 | 必須 |
---|---|---|
file | 削除するファイル。単純なファイル名(ファイルが現在のベースディレクトリに存在する場合)、相対パスファイル名、またはフルパスファイル名のいずれかで指定します。 | ネストされたリソースコレクションが指定されていない限り、2つのうち少なくとも1つ |
dir | すべてのファイルとサブディレクトリを含む、削除するディレクトリ。 注記: dirはfileのディレクトリ名を指定するためのものではありません。fileとdirは互いに独立しています。 警告: 現在のベースディレクトリの全内容(および現在の作業ディレクトリとは異なる場合、ベースディレクトリ自体)を再帰的に削除することを本当に意図している場合を除き、dirを .、 ${basedir}、またはフルパス名相当に設定しないでください。 |
|
verbose | 削除された各ファイルの名前を表示するかどうか。 | いいえ。デフォルトはfalse |
quiet | 指定されたファイルまたはディレクトリが存在しない場合、診断メッセージを表示せず(Apache Antが-verboseまたは-debugスイッチで呼び出された場合を除く)、エラーを反映するように終了ステータスを変更しません。 trueに設定されている場合、ファイルまたはディレクトリを削除できない場合、エラーは報告されません。この設定は、Unixのrmコマンドの-fオプションをエミュレートします。 trueに設定すると、failonerrorが falseに設定されます。 |
いいえ。デフォルトはfalse |
failonerror | エラー(ファイルの削除失敗など)によってビルドが停止されるか、画面に報告されるだけかを制御します。quiet がfalseの場合にのみ関連します。 |
いいえ。デフォルトはtrue |
includeemptydirs | filesetを使用する場合に空のディレクトリを削除するかどうか。 | いいえ。デフォルトはfalse |
includes | 非推奨。リソースコレクションを使用してください。削除する必要があるファイルのパターンのコンマまたはスペースで区切られたリスト。すべてのファイルはdirで指定されたディレクトリを基準とします。 | いいえ |
includesfile | 非推奨。リソースコレクションを使用してください。ファイル名。このファイルの各行は、インクルードパターンとして扱われます。 | いいえ |
excludes | 非推奨。リソースコレクションを使用してください。削除リストから除外する必要があるファイルのパターンのコンマまたはスペースで区切られたリスト。すべてのファイルはdirで指定されたディレクトリを基準とします。 | いいえ。defaultexcludesがnoの場合、デフォルトの除外またはなしがデフォルトになります。 |
excludesfile | 非推奨。リソースコレクションを使用してください。ファイル名。このファイルの各行は、エクスクルードパターンとして扱われます。 | いいえ |
defaultexcludes | 非推奨。リソースコレクションを使用してください。デフォルトの除外を使用するかどうか。 | いいえ。デフォルトはtrue |
deleteonexit | ファイルの削除に失敗した場合にFile#deleteOnExit() を使用するかどうかを示します。これにより、JVMプロセスが終了するときに、JVMがファイルを削除しようとします。Ant 1.6.2以降 |
いいえ。デフォルトはfalse |
removeNotFollowedSymlinks | followSymlinksがfalseであるか、シンボリックリンクの最大数が大きすぎるために追跡されていない場合、シンボリックリンク(リンク先のファイル/ディレクトリではない)を削除するかどうか。Ant 1.8.0以降 |
いいえ。デフォルトはfalse |
performGCOnFailedDelete | Antがファイルまたはディレクトリの削除に失敗した場合、操作を1回再試行します。このフラグがtrueに設定されている場合、削除の再試行前にガベージコレクションを実行します。 このフラグをtrueに設定すると、Windows(デフォルトで true)やNFS共有にあるディレクトリツリーなど、いくつかの問題が解決することが知られています。Ant 1.8.3以降 |
いいえ。Windowsではtrueがデフォルト、その他のOSでも trueです。 |
/lib/ant.jarファイルを削除します。
<delete file="/lib/ant.jar"/>
libディレクトリとそのすべてのファイルとサブディレクトリを削除します。
<delete dir="lib"/>
現在のディレクトリとそのサブディレクトリから拡張子が.bakのすべてのファイルを削除します。
<delete> <fileset dir="." includes="**/*.bak"/> </delete>
buildのすべてのファイルとサブディレクトリ(build自体を含む)を削除します。
<delete includeEmptyDirs="true"> <fileset dir="build"/> </delete>
build自体を除き、buildのすべてのファイルとサブディレクトリを削除します。
<delete includeemptydirs="true"> <fileset dir="build" includes="**/*"/> </delete>
src下のSubversionメタデータディレクトリを削除します。.svnはデフォルトの除外の1つであるため、defaultexcludesフラグを使用する必要があります。それ以外の場合は、Antはこれらのディレクトリとその中のファイルを削除しません。
<delete includeemptydirs="true"> <fileset dir="src" includes="**/.svn/" defaultexcludes="false"/> </delete>