three answers:
1) you do not need to escape the args for find as
  you are not using a shell:
<exec executable="find">
  <line ="./feeds -name myFilename* -mtime +10 -exec mv {} ./feeds_backup;"/>
</exec>
2) for is only for ant1.6+ so to avoid confusion with ant1.5 it
 is only defined in the xml task/type definitions of ant-contrib.
 The recommended way to use this is via xml namespaces, drop
 ant-contrib.jar into $ANT_HOME/lib or ~/.ant/lib
 and declare the antlib namespace antlib:net.sf.antcontrib

<project xmlns:ac="antlib:net.sf.antcontrib">
  <ac:for list="a,b,c,d" param="p">
     <sequential>
        <echo>param is @{p}</echo>
    </sequential>
  </ac:for>
</project>

3) I normally use the shellscript task from antcontrib:
 <ac:shellscript shell="bash">
  find ./feeds -name myFilename* -mtime +10 -exec mv '{}' ./feeds_backup \;
 </ac:shellscript>

Peter

On 11/15/06, Elaine Fortin <[EMAIL PROTECTED]> wrote:
This looks very good. I do have antcontrib but I see that the 'for' task
isn't operational. It's actually commented out in the
antcontrib.properties, as "Tasks Requiring Ant 1.6 or higher" and this is
Ant 1.6.5 !  Huh? I will uncomment it and see if that works.  Thanks!

At 11:41 AM 11/15/2006 -0800, you wrote:
>I have a target in my build.xml that deletes files older than 60 days.
>Here is how I did it purely in Ant...
>
>   <tstamp>
>     <format property="60_days_ago" pattern="MM/dd/yyyy hh:mm aa"
>offset="-60" unit="day"/>
>   </tstamp>
>
>   <path id="aged.archives">
>     <fileset dir="${archive.dir}" includes="**/*">
>       <date datetime="${60_days_ago}" when="before"/>
>     </fileset>
>   </path>
>
>   <target name="rmagedfiles">
>         <echo>Deleting files older than 60 days from the archive:</echo>
>         <for param="file">
>           <path refid="aged.archives"/>
>           <sequential>
>                 <delete file="@{file}"/>
>       </sequential>
>         </for>
>   </target>
>
>You could easily change this to move files older than 10 days. Note that
>this makes use of the <for> task from the ant-contrib project
>(http://ant-contrib.sourceforge.net/tasks/tasks/index.html)
>
>I hope this helps.
>
>-Rob Anderson
>
> > -----Original Message-----
> > From: Elaine Fortin [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, November 15, 2006 11:21 AM
> > To: user@ant.apache.org
> > Subject: Ant exec find -exec problem
> >
> > I am trying to create an Ant script to move files that are 10
> > days old to a backup directory.
> > I cannot find how to do this purely in Ant, but I know that
> > the Unix 'find'
> > works.
> >
> > Ant returns the error: "[exec] /bin/find: incomplete statement"
> >
> > when I issue the following:
> >           <exec executable="find">
> >                           <arg line="find ./feeds -name
> > myFilename* -mtime +10 -exec mv '{}' ./feeds_backup \; "/>
> >               </exec>
> >
> > This command works fine when issued from a Unix shell:
> >   find ./feeds -name myFilename* -mtime +10 -exec mv '{}'
> > ./feeds_backup \;
> >
> > How can I make this work?
> >
> > Thanks,
> > Elaine
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED] For
> > additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to