Bonjour,
je tente de faire un script me permettant de créer un zip de n fichiers d'un répertoire. Ce zip ne contenant que les fichiers et non pas le dossier source.
Voici le code que j'ai fait :
A la suite de l'exécution de ce script, je me retrouve avec cette erreur :
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
30
31
32
33 #!C:\Perl64\bin\ use strict; use warnings; use autodie; use File::Copy qw/ copy /; use File::Basename ; use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); # Global Variable my $DIROUT = './FileResult/'; # Partie ZIPPAGE du répertoire contenant les ressources sans Exstension opendir(DIROUT, $DIROUT) or die $!; my $ZipCreated=qw(./FileZipped/Archive.zip); my $RC = 0; my $ZipFile = Archive::Zip->new() or $RC=1; my @ListFilesToZip = glob ($DIROUT); foreach my $File (@ListFilesToZip) { $ZipFile -> addFile ($File) ; } if ($ZipFile->writeToFileNamed($ZipCreated) != AZ_OK ) { $RC=2; } print "Fin de l'ecriture du fichier Archive avec le code [$RC]!\n";
Cette erreur disparaît lorsque j'écris la ligne "addFile" ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Can't call method "desiredCompressionLevel" on an undefined value at C:/Perl64/lib/Archive/Zip/Archive.pm line 256.
Sauf que le zip produit contient le dossier "FileResult" en amont des fichiers, ce que je ne veux pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ZipFile -> addFile ("$DIROUT/$File") ;
Auriez-vous une idée pour me dépatouiller, svp ?
Partager