Wie bauche ich folgendes Skript um, dass nur Dateien
- die, die Endung txt und csv
- und älter als 14 Tage sind
geloescht werden?
lg,
Kandi
- die, die Endung txt und csv
- und älter als 14 Tage sind
geloescht werden?
Code:
#!c:\xampplite\perl\bin\perl.exe
#Skript zum Dateien loeschen
#letzte Aenderung: 05.01.2007
# Verzeichnispfad anpassen
# Den Pfad sollte man aber zweimal prüfen vor dem Einsatz
# Ein vorbeugendes Backup kann auch nicht schaden!
my $verzeichnis = "C:/xampplite/htdocs/Test";
# Alter der Dateien in Sekunden angeben
# Hier zum testen nur 20 Sekunden
my $alter = 60; # In Sekunden angeben!
# Hier wird das Verzeichnis geoeffnet
opendir(DIR, $verzeichnis) or die "Kann Verzeichnis nicht oeffnen: $!";
# Mittels einer while Schleife gelesen
while (my $entry = readdir(DIR)) {
$entry = $verzeichnis.'/'.$entry;
#print "\n\n".$entry."\n\n";
#unless (-f $entry) { next; # Verzeichnisse ausschließen ./ und ../
#}
# Dateistatistik mittels stat bestimmen
my @stat = stat($entry);
# JA/NEIN (True/False) Wert
$weg = 0;
if ((time - $stat[8]) > $alter) {
# Dateien loeschen per unlink
unlink($entry);
# Wurde etwas geloescht, Wert ist = 1
$weg = 1;
}
}
# Verzeichnis schliessen
closedir(DIR);
# Textausgabe des Loeschstatus, ist Wert 1 oder 0
if ($weg >= 1){
print "Es wurden $weg Dateien geloescht die älter als $alter Sekunden waren.\n";
} else {
print "Es wurden keine Dateien gefunden die geloescht werden muessen\n";
}
lg,
Kandi