hello,

Je reviens avec un bout de script (également présent dans un ensemble TK)
Le script prend tous les fichiers .JPG et test si il en manque dans la numérotation.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
    my $premier = $entry_saisie1->get;
    my $dernier = $entry_saisie2->get;
    open OUT, ">$repertoire/Fichiers_Manquants.txt" or die;
    open OUT2, ">$repertoire/Fichiers_presents.txt" or die;
    opendir (my $FhRep, $repertoire) or die "impossible d'ouvrir le répertoire $repertoire\n";
    my @Contenu = grep { /\.JPG/ } readdir($FhRep);
    closedir ($FhRep);
    @Contenu = sort @Contenu;
    my $nb;
    my @liste;
    my @liste2;
    my $total = $dernier - $premier;
    $total = $total + 1;
    foreach my $nom ( @Contenu ) {
      $nom =~ /(\d\d?\d?\d?)\.\w{3}/;
      $nb = $1;
      push (@liste, $nb);
      }
    @liste = sort @liste;
    while ( ! $total < 1 ) {
      if ("@liste" !~ /$dernier/){
        push (@liste2, $dernier);
        }
      $total--;
      $dernier--;
      }
    print $total."\n";
    @liste2 = sort @liste2;
    print OUT "@liste2\n";

les tests que j'ai fait :

1) j'ai 6 fichiers .JPG : 1,2,3,10,11,15
en fichier manquant j'ai : 4, 6, 7, 8, 9, 12, 13, 14 ( et pas le 5 )

2) j'ai 6 fichier .JPG : 1, 2, 3, 10, 11, 16
en fichier manquant j'ai : 4, 5, 7, 8, 9, 12, 13, 14, 15 ( et pas le 6 )

donc il semble que le 15 soit traiter à la fois comme 15 et comme 5 pareille pour le 16...



Je ne comprend pas comment le résoudre.