Eliminar ficheros de directorio en función de la fecha
Publicado: 2014-03-30 04:11 @216
Hola, compañeros.
Deseo eliminar ficheros de un directorio que caduquen en dos días respecto el día actual.
El nombre de los ficheros tiene el siguiente formato: WC_2014032700.dat, WC_2014032712.dat...
He pensado en utilizar el nombre del fichero, aislar la cifra y compararla con la fecha actual para saber si son caducos y luego eliminar... pero me he quedado atascadillo. Muestro el código...
pero no chuta... ¿alguna ayuda?
Gracias.
Deseo eliminar ficheros de un directorio que caduquen en dos días respecto el día actual.
El nombre de los ficheros tiene el siguiente formato: WC_2014032700.dat, WC_2014032712.dat...
He pensado en utilizar el nombre del fichero, aislar la cifra y compararla con la fecha actual para saber si son caducos y luego eliminar... pero me he quedado atascadillo. Muestro el código...
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use Class::Date qw(date now);
- use File::Path;
- use File::Copy;
- $n = 2;
- $hoy = now;
- $data_limit = $hoy - "$n D";
- $Class::Date::DATE_FORMAT = "%Y%m%d%H";
- chdir($dir);
- open( LS, "ls |" ) or die $!;
- while (<LS>) {
- chomp( $data = $_ );
- @data = split( /_/, $data ); #separo el nombre por el guión
- @data2 = split( /./, $data[1] ); #separo el elemento data[1] por el punto
- $data3 = date $data2[0] . "0000";
- if ( $data3 < $data_limit ) {
- rmtree( $dir . "/WC_" . $data3 . ".dat" ) or die $!;
- }
- }
- close(LS);
- }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
pero no chuta... ¿alguna ayuda?
Gracias.