Thread Alle Datein aus Verzeichnis löschen, bis auf 2 Bestimmte (6 answers)
Opened by donlenardo at 2012-01-25 13:55

GwenDragon
 2012-01-25 14:11
#155658 #155658
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Ungetestet:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use File::Find;

my @dirs = @_ or die "No dir for search\n";

find(\&findthem, @dirs);

sub findthem {
    # falls Dateiname nicht CostFunction_sum oder task.dat am Ende
    if ( $File::Find::name !~ /(CostFunction_sum|\Qtask.dat\E)$/ ) {
       # Datei löschen 
       unlink $File::Find::name if -f $File::Find::name;

       # Verzeichnis löschen wenn nicht . oder ..
       rmdir $File::Find::name  
         if -d $File::Find::name and $File::Find::name !~ /^\.\.?$/;
    }
}


Aber Vorsicht, das löscht auch alles unterhalb / !
Last edited: 2012-01-25 14:19:29 +0100 (CET)

View full thread Alle Datein aus Verzeichnis löschen, bis auf 2 Bestimmte