Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.89 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. #script to show and/or fix wrong filenames in my music folder.
  4. #by $uicide
  5.  
  6. use warnings;
  7. use strict;
  8.  
  9. my $deleteshit = 0;
  10. my $replace = 0;
  11. my $show = 0;
  12. my $help = 1;
  13. foreach (@ARGV) {
  14.     $help = 0;
  15.     if($_ eq "--rename")
  16.     {
  17.         $replace = 1;
  18.     }
  19.     if($_ eq "--delete")
  20.     {
  21.         $deleteshit = 1;
  22.     }
  23.     if($_ eq "--show")
  24.     {
  25.         $show = 1;
  26.     }  
  27.     if($_ eq "--help")
  28.     {
  29.         $help= 1;
  30.     }
  31. }
  32.  
  33. if($help == 1)
  34. {
  35.     print "Usage:\n./fix.pl [--show] [--raname]\n";
  36. }
  37.  
  38. if($show == 1)
  39. {
  40.     process_files (".");
  41. }
  42.  
  43. sub process_files {
  44.     my $dirname = shift;
  45.     #print "DIR: $dirname\n";
  46.        
  47.     opendir(DIR, $dirname) or die "can't opendir $dirname: $!";
  48.     my @files = grep { !/^\.{1,2}$/ } readdir (DIR);
  49.     #while (defined(my $file = readdir(DIR)))
  50.      for (@files)
  51.     {    
  52.         my $file = $_;
  53.         # do something with "$dirname/$file"
  54.         #next if $file =~ m/^\.{1,2}$/;
  55.        
  56.         if (-d "$dirname/$file") {
  57.             if($replace ==1)
  58.             {
  59.                 print "\nAlbum: $dirname/$file \n";
  60.             }
  61.             process_files("$dirname/$file");
  62.         }
  63.         else
  64.         {
  65.        
  66.             if($replace ==0)
  67.             {
  68.                 if($file =~ m/^\d\d\s-\s(.*)$/)
  69.                 {
  70.                 }
  71.                 else
  72.                 {
  73.                     if($file =~ m/\.html|\.htm|\.db|\.ini|\.txt/)
  74.                     {
  75.                         if($deleteshit == 1)
  76.                         {
  77.                             print "\nDELETED $dirname/$file\n";
  78.                             unlink("$dirname/$file");
  79.                             next;
  80.                         }
  81.                     }
  82.                     if ($file =~ m/\.html|\.htm|\.db|\.jpg|\.png|\.jpeg|\.JPG|\.JPEG|\.gif|\.GIF|\.WAV|\.wav|\.pdf|\.wmv/)
  83.                     {}
  84.                     else
  85.                     {
  86.                         print "$dirname/$file\n";
  87.                     }
  88.                 }
  89.             }
  90.         }
  91.        
  92.         next unless $file =~ m/^(\d*)\s([^-])(.*)$/;
  93.        
  94.         if(defined($2) && defined($1) && defined($3))
  95.         {
  96.             if($2 ne "")
  97.             {
  98.                 if($replace ==1)
  99.                 {
  100.                     rename("$dirname/$file", "$dirname/$1 - $2$3");
  101.                 }
  102.                 #print "\n\t$file\n";
  103.                 if($replace ==0)
  104.                 {
  105.                     print $dirname;
  106.                 }
  107.                 print "\t$1 - $2$3\n";
  108.             }
  109.         }
  110.        
  111.     }
  112.    
  113.     closedir(DIR);
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement