Touch

Description

Changes the modification time of a file and possibly creates it at the same time. In addition to working with a single file, this Task can also work a Fileset (which also includes directories) or a Filelist (since Ant 1.6).

Parameters

Attribute Description Required
file The name of the file. Unless a nested fileset element or a nested filelist element has been specified.
millis Specifies the new modification time of the file in milliseconds since midnight Jan 1 1970. No--datetime takes precedence, however if both are omitted the current time is assumed.
datetime Specifies the new modification time of the file.
pattern SimpleDateFormat-compatible pattern string. Defaults to MM/DD/YYYY HH:MM AM_or_PM or MM/DD/YYYY HH:MM:SS AM_or_PM. Since Ant 1.6.3 No
mkdirs Whether to create nonexistent parent directories when touching new files. Since Ant 1.6.3 No, default false.
verbose Whether to log the creation of new files. Since Ant 1.6.3 No, default true.

Parameters specified as nested elements

fileset

You can use any number of nested <fileset> elements to define the files for this task and refer to <fileset>s defined elsewhere.

filelist

Since Ant 1.6

You can use any number of nested <filelist> elements to define the files for this task and refer to <filelist>s defined elsewhere.

mapper

Since Ant 1.6.3, a nested mapper can be specified. Files specified via nested filesets, filelists, or the file attribute are mapped using the specified mapper. For each file mapped, the resulting files are touched. If the original file exists its timestamp will be used. Otherwise the task settings (millis, datetime) take effect.

Examples

  <touch file="myfile"/>

creates myfile if it doesn't exist and changes the modification time to the current time.

  <touch file="myfile" datetime="06/28/2000 2:02 pm"/>

creates myfile if it doesn't exist and changes the modification time to Jun, 28 2000 2:02 pm (14:02 for those used to 24 hour times).

  <touch datetime="09/10/1974 4:30 pm">
    <fileset dir="src_dir"/>
  </touch>

changes the modification time to Oct, 09 1974 4:30 pm of all files and directories found in src_dir.

  <touch file="myfile" datetime="06/28/2000 2:02:17 pm"/>

creates myfile if it doesn't exist and changes the modification time to Jun, 28 2000 2:02:17 pm (14:02:17 for those used to 24 hour times), if the filesystem allows a precision of one second - a time close to it otherwise.

  <touch file="foo">
    <mapper type="glob" from="foo" to="bar" />
  </touch>

creates bar if it doesn't exist and changes the modification time to that of foo.


Copyright © 2000-2001,2003-2005 The Apache Software Foundation. All rights Reserved.