削除

説明

単一ファイル、指定されたディレクトリとそのすべてのファイルとサブディレクトリ、または1つ以上のリソースコレクションで指定されたファイルセットを削除します。<fileset>の文字通りの意味は、ディレクトリは含まれないということです。ただし、includeEmptyDirs属性をtrueに設定することで、ネストされたfilesetを使用する場合、空のディレクトリの削除をトリガーできます。この属性は、ディレクトリを含むさまざまなリソースコレクションの種類のコンテキストでは意味がありませんが、いずれの場合も、空でないディレクトリを削除しようとする試みは行われません。ディレクトリが空かどうかは、ファイルシステムを参照することで判断されます。インクルードまたはエクスクルードパターンはここで適用されません。

このタスクを使用してエディタによって作成された一時ファイルを削除しても機能しない場合は、ディレクトリベースのタスクデフォルトの除外セットについて読み、以下のdefaultexcludes属性を参照してください。

歴史的な理由から、<delete dir="x"/><delete><fileset dir="x"/></delete>とは異なります。これは、x内にあるすべて(x自体を含む)を削除しようとします。デフォルトの除外は考慮されず、すべてのシンボリックリンクを盲目的に追跡します。より細かい制御が必要な場合は、ネストされた<fileset>を使用してください。

パラメータ

属性 説明 必須
file 削除するファイル。単純なファイル名(ファイルが現在のベースディレクトリに存在する場合)、相対パスファイル名、またはフルパスファイル名のいずれかで指定します。 ネストされたリソースコレクションが指定されていない限り、2つのうち少なくとも1つ
dir すべてのファイルとサブディレクトリを含む、削除するディレクトリ。
注記: dirfileのディレクトリ名を指定するためのものではありません。filedirは互いに独立しています。
警告: 現在のベースディレクトリの全内容(および現在の作業ディレクトリとは異なる場合、ベースディレクトリ自体)を再帰的に削除することを本当に意図している場合を除き、dir.${basedir}、またはフルパス名相当に設定しないでください。
verbose 削除された各ファイルの名前を表示するかどうか。 いいえ。デフォルトはfalse
quiet 指定されたファイルまたはディレクトリが存在しない場合、診断メッセージを表示せず(Apache Antが-verboseまたは-debugスイッチで呼び出された場合を除く)、エラーを反映するように終了ステータスを変更しません。 trueに設定されている場合、ファイルまたはディレクトリを削除できない場合、エラーは報告されません。この設定は、Unixのrmコマンドの-fオプションをエミュレートします。trueに設定すると、failonerrorfalseに設定されます。 いいえ。デフォルトはfalse
failonerror エラー(ファイルの削除失敗など)によってビルドが停止されるか、画面に報告されるだけかを制御します。quietfalseの場合にのみ関連します。 いいえ。デフォルトはtrue
includeemptydirs filesetを使用する場合に空のディレクトリを削除するかどうか。 いいえ。デフォルトはfalse
includes 非推奨。リソースコレクションを使用してください。削除する必要があるファイルのパターンのコンマまたはスペースで区切られたリスト。すべてのファイルはdirで指定されたディレクトリを基準とします。 いいえ
includesfile 非推奨。リソースコレクションを使用してください。ファイル名。このファイルの各行は、インクルードパターンとして扱われます。 いいえ
excludes 非推奨。リソースコレクションを使用してください。削除リストから除外する必要があるファイルのパターンのコンマまたはスペースで区切られたリスト。すべてのファイルはdirで指定されたディレクトリを基準とします。 いいえ。defaultexcludesnoの場合、デフォルトの除外またはなしがデフォルトになります。
excludesfile 非推奨。リソースコレクションを使用してください。ファイル名。このファイルの各行は、エクスクルードパターンとして扱われます。 いいえ
defaultexcludes 非推奨。リソースコレクションを使用してください。デフォルトの除外を使用するかどうか。 いいえ。デフォルトはtrue
deleteonexit ファイルの削除に失敗した場合にFile#deleteOnExit()を使用するかどうかを示します。これにより、JVMプロセスが終了するときに、JVMがファイルを削除しようとします。Ant 1.6.2以降 いいえ。デフォルトはfalse
removeNotFollowedSymlinks followSymlinksfalseであるか、シンボリックリンクの最大数が大きすぎるために追跡されていない場合、シンボリックリンク(リンク先のファイル/ディレクトリではない)を削除するかどうか。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>