Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- sub recursiveDelete {
- my $dir = shift;
- my $string = shift;
- opendir(DIR, $dir) or die $!;
- my @folders
- = grep {
- -d "$dir/$_"
- && /^(?!\.)/
- } readdir(DIR);
- foreach my $folder (@folders) {
- recursiveDelete($dir . "/" . $folder,$string); #comment this to remove recursion
- }
- #closedir(DIR); #this was causing some strange error... reopening without closing works fine
- opendir(DIR, $dir) or die $!;
- my @files
- = grep {
- /^(.*)$string(.*)/i
- && -f "$dir/$_" # and is a file
- } readdir(DIR);
- my @deletes;
- # Loop through the array printing out the filenames
- foreach (@files) {
- $_ =~ s/ ( [\(\)] ) /\\$1/xg;
- if (/^(.*)$string(.*)/i ) {
- opendir(DIR, $dir) or die $!;
- my @delete
- = grep {
- /^$1((?!($string)).*)$2/i
- && -f "$dir/$_" # and is a file
- } readdir(DIR);
- push(@deletes,@delete);
- }
- }
- foreach (@deletes) {
- #unlink $dir . "/" . $_;
- print $dir . "/" . $_ . "\n";
- }
- closedir(DIR);
- }
- recursiveDelete('.','USa');
- exit 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement