1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #!/usr/bin/perl
use warnings;
use strict;
my $repertoire = '/home/desktop/conversiondossier/videoSource';
foreach my $fichier ( lister_fichiers( $repertoire,1 ) ) {
print " la conversion de fichier: $fichier est demarre\n";
print "------------------------------------------------------\n";
system('perl /home/desktop/conversiondossier/vconvert.pl' ,'--target','flv' ,$fichier );
print "------------la conversion fini-------------------------\n";
}
#======================================================
# Nombre d'arguments : 1 ou 2
# Argument(s) : un répertoire et valeur 0 ou 1
# Retourne : Tableau de fichier (@fichiers)
#======================================================
sub lister_fichiers {
my ( $repertoire, $recursivite ) = @_;
require Cwd;
require File::Spec;
my $cwd = Cwd::getcwd();
# Recherche dans les sous-répertoires ou non
if ( ( not defined $recursivite ) || ( $recursivite != 1 ) ) { $recursivite = 0; }
# Verification répertoire
if ( not defined $repertoire ) { die "Aucun repertoire de specifie\n"; }
# Ouverture d'un répertoire
opendir my $fh_rep, $repertoire or die "impossible d'ouvrir le répertoire $repertoire\n";
# Liste fichiers et répertoire sauf (. et ..)
my @fic_rep = grep { !/^\.\.?$/ } readdir $fh_rep;
# Fermeture du répertoire
closedir $fh_rep or die "Impossible de fermer le répertoire $repertoire\n";
chdir $repertoire;
$repertoire = Cwd::getcwd();
# On récupère tous les fichiers
my @fichiers;
foreach my $nom (@fic_rep) {
my $notre_fichier = File::Spec->catfile( $repertoire, $nom );
if ( -f $notre_fichier ) {
push @fichiers, $notre_fichier;
}
elsif ( -d $notre_fichier and $recursivite == 1 ) {
push @fichiers, lister_fichiers($notre_fichier, $recursivite); # recursivité
}
}
chdir $cwd;
return @fichiers;
} |
Partager