## Delete

### Description

Deletes a single file, a specified directory and all its files and subdirectories, or a set of files specified by one or more FileSets. When specifying a set of files, empty directories are not removed by default. To remove empty directories, use the `includeEmptyDirs` attribute.

If you use this task to delete temporary files created by editors and it doesn't seem to work, read up on the default exclusion set in Directory-based Tasks, and see the `defaultexcludes` attribute below.

### Parameters

Attribute | Description | Required
file | The file to delete, specified as either the simple filename (if the file exists in the current base directory), a relative-path filename, or a full-path filename. | At least one of the two, unless a `<fileset>` is specified.

dir

The directory to delete, including all its files and subdirectories.
Note: `dir` is not used to specify a directory name for `file`; `file` and `dir` are independent of each other.
WARNING: Do not set `dir` to `"."`, `"${basedir}"`, or the full-pathname equivalent unless you truly intend to recursively remove the entire contents of the current base directory (and the base directory itself, if different from the current working directory).

verbose | Show the name of each deleted file ("true"/"false"). Default is "false" when omitted. | No

quiet

If the specified file or directory does not exist, do not display a diagnostic message (unless Ant has been invoked with the `‑verbose` or `‑debug` switches) or modify the exit status to reflect an error. When set to "true", if a file or directory cannot be deleted, no error is reported. This setting emulates the `-f` option to the Unix rm command. Default is "false". Setting this to "true" implies setting `failonerror` to "false".

No

failonerror | Controls whether an error (such as a failure to delete a file) stops the build or is merely reported to the screen. Only relevant if `quiet` is "false". Default is "true". | No
includeEmptyDirs | Set to "true" to delete empty directories when using filesets. Default is "false". | No
includes | Deprecated. Use `<fileset>`. Comma- or space-separated list of patterns of files that must be deleted. All files are relative to the directory specified in `dir`. | No
includesfile | Deprecated. Use `<fileset>`. The name of a file. Each line of this file is taken to be an include pattern | No
excludes | Deprecated. Use `<fileset>`. Comma- or space-separated list of patterns of files that must be excluded from the deletion list. All files are relative to the directory specified in `dir`. No files (except default excludes) are excluded when omitted. | No
excludesfile | Deprecated. Use `<fileset>`. The name of a file. Each line of this file is taken to be an exclude pattern | No
defaultexcludes | Indicates whether default excludes should be used or not ("yes"/"no"). Default excludes are used when omitted. | No
deleteonexit | Indicates whether to use File#deleteOnExit() if there is a failure to delete a file, this causes the jvm to attempt to delete the file when the jvm process is terminating. The default is false. Since Ant 1.6.2 | No

### Examples

      <delete file="/lib/ant.jar"/>

deletes the file `/lib/ant.jar`.

      <delete dir="lib"/>

deletes the `lib` directory, including all files and subdirectories of `lib`.

      <delete>
        <fileset dir="." includes="**/*.bak"/>
      </delete>

deletes all files with the extension `.bak` from the current directory and any subdirectories.

      <delete includeEmptyDirs="true">
        <fileset dir="build"/>
      </delete>

deletes all files and subdirectories of `build`, including `build` itself.

      <delete includeemptydirs="true">
        <fileset dir="build" includes="**/*"/>
      </delete>

deletes all files and subdirectories of `build`, without `build` itself.

Copyright © 2000-2002,2004 The Apache Software Foundation. All rights Reserved.