Advertisement
Guest User

m3u2dir

a guest
Dec 11th, 2011
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.36 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use File::Copy "cp";
  5.  
  6. my $m3u_list="default.m3u";
  7. my $nome_pasta="default.diretorio";
  8.  
  9. ########################################
  10. sub ajuda()
  11. {
  12. if( @ARGV < 2)
  13.     {
  14.     print ("\n\n");
  15.     print ("Modo de usar: \n");
  16.     print ("\$ perl ".$0." <lista.m3u> <diretorio_de_destino>\n");
  17.     print ("\nm3u2dir   cicero.schons\@gmail.com - copyleft\n");
  18.     exit -10;
  19.     }
  20. else
  21.     {
  22.     $m3u_list=$ARGV[0];
  23.     $nome_pasta=$ARGV[1];
  24.     }
  25. }
  26. ##########
  27. sub copiar()
  28. {
  29. my $contador_ok=0;
  30. my $contador_total=0;
  31.  
  32. open (M3U,"$m3u_list");
  33. my @lista=<M3U>;
  34. close M3U;
  35.  
  36. if (!(-e $nome_pasta))
  37.     {
  38.     print ("Diretório de destino nao encontrado, criando...\n");
  39.     mkdir ($nome_pasta);
  40.     }
  41.  
  42. foreach my $musica_lista (@lista)
  43.     {
  44.     chomp $musica_lista;
  45.     if ($musica_lista =~ m/^\//)
  46.         {
  47.         if ($musica_lista =~ m/.*\/(.*?)$/)
  48.             {
  49.             if ((-e "$musica_lista") && (-r "$musica_lista"))
  50.                 {
  51.                 if (-e "$nome_pasta/$1")
  52.                     {
  53.                     print ("Já existe, ignorando... $1\n");
  54.                     }
  55.                 else
  56.                     {
  57.                     print ("Copiando: $1\n");
  58.                     cp ("$musica_lista","$nome_pasta/$1");
  59.                     $contador_ok++;
  60.                     }
  61.                 }
  62.             else
  63.                 {
  64.                 print ("Nao encontrado ou sem permissao de leitura: $1"."\n");
  65.                 }
  66.             $contador_total++;
  67.             }
  68.         }
  69.     }
  70. print ("Copiados: $contador_ok/$contador_total\n");
  71. }
  72. ########################################
  73. &ajuda;
  74. &copiar;
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement