1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/usr/bin/perl
use strict;
use warnings;
use File::Spec;
my $list_to_rm_file = 'listFolder.txt00';
# Lecture des fichiers à supprimer à partir de
# $list_to_rm_file
print "\n\nFichier de référence : ",$list_to_rm_file,"\n";
open my $list_to_rm_handle , '<', $list_to_rm_file
or die "Erreur ouverture fichier $list_to_rm_file\n";
PATH_LOOP :
while ( my $line = <$list_to_rm_handle> ) {
if ( my ($path, $days_count) = ($line =~ m/^\s*(.+),\s*(\d+)\s*$/x) ) {
# affiche les infos des dossiers traités et
# avant quel date les fichiers seront supprimés
print "\n\nLes fichiers dans $path créés avant "
. localtime(time - ($days_count * 86400))
. "seront supprimés\n\n";
if ( opendir my $path_handle, $path ) {
while ( my $file_name = readdir $path_handle ) {
my $path_file = File::Spec->catfile( $path, $file_name );
my $days_since_modification = -M $path_file;
print "$file_name : vieux de $days_since_modification jours. ";
if ($days_since_modification >= $days_count) {
print "Supprimé !";
unlink $path_file;
}
print "\n";
}
}
else {
warn "N'arrive pas à ouvrir $path, passe à la ligne suivante\n";
}
}
}
close $list_to_rm_handle; |
Partager