Changeset 5fb8032 in tol


Ignore:
Timestamp:
Jun 20, 2009, 10:01:50 AM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
dd3248c
Parents:
31f305a
Message:

Nueva función RecDir.Delete.OlderThan

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1097 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/stdlib/general/system/recursive_dir/_functions.tol

    r31f305a r5fb8032  
    382382
    383383
    384 
     384//////////////////////////////////////////////////////////////////////////////
     385  Set RecDir.Delete.OlderThan(Date date,
     386                              Text root,
     387                              Text match,
     388                              Real caseSens,
     389                              Real recursive,
     390                              Real verbose)
     391//////////////////////////////////////////////////////////////////////////////
     392{
     393  Real totalChecked = 0;
     394  Real totalTried = 0;
     395  Real totalDeleted = 0;
     396  If(verbose>0,
     397  {
     398    WriteLn("RecDir.Delete.OlderThan("
     399    "date="<<date+", "
     400    "root="<<root+", "+
     401    "match="<<match+", "+
     402    "caseSens="<<caseSens+", "+
     403    "recursive="<<recursive+", "+
     404    "verbose="<<verbose+")")
     405  });
     406  ////////////////////////////////////////////////////////////////////////////
     407    Real RecDir.Delete.OlderThan.item(Text fileName, Real isFile)
     408  ////////////////////////////////////////////////////////////////////////////
     409  {
     410    Date ft = FileTime(fileName);
     411    Real totalChecked := totalChecked + 1;
     412    If(ft<date,
     413    {
     414      If(verbose>1,
     415      {
     416        WriteLn("El fichero "+fileName+" será borrado")
     417      });
     418      Real ok = FileRemove(fileName);
     419      Real totalTried := totalTried + 1;
     420      Real totalDeleted := totalDeleted + ok;
     421      True
     422    },
     423    {
     424      False
     425    })
     426  };
     427  Set report = RecDir.DoWithTree
     428  (
     429    RecDir.Delete.OlderThan.item,
     430    root,
     431    match,
     432    caseSens,
     433    1,
     434    0,
     435    2,
     436    verbose
     437  );
     438  If(verbose>0,
     439  {
     440    WriteLn("Checked files : "<<totalChecked);
     441    WriteLn("Tried files   : "<<totalTried);
     442    WriteLn("Deleted files : "<<totalDeleted)
     443  });
     444  [[report, totalChecked, totalTried, totalDeleted]]
     445};
     446//////////////////////////////////////////////////////////////////////////////
     447PutDescription("Borrar recursivamente los archivos de fecha anterior a una "
     448"dada, especificados por el argumento <match> bajo un directorio raíz.\n"
     449"Ver RecDir.DoWithTree para saber qué son el resto de parámetros.\n"
     450"Devuelve dos tablas, una con el resultado de RecDir.DoWithTree y otra con "
     451"estructura RecDir.TextFound.Reg con los ficheros que han dado positivo.",
     452RecDir.Delete.OlderThan);
     453//////////////////////////////////////////////////////////////////////////////
     454
     455
Note: See TracChangeset for help on using the changeset viewer.