in reply to Error while Zipping a Directory
What kind of filenames do you have?
Try this , its based on https://metacpan.org/source/PHRED/Archive-Zip-1.49/examples/zip.pl with Path::Tiny for ease and autodie
#!/usr/bin/perl -- ## dirzip.pl ## 2015-08-24-01:12:41 ## ## ## ## perltidy -olq -csc -csci=3 -cscl="sub : BEGIN END " -otr -opr -ce +-nibc -i=4 -pt=0 "-nsak=*" #!/usr/bin/perl -- use strict; use warnings; use Path::Tiny qw/ path /; use Archive::Zip qw(:ERROR_CODES :CONSTANTS); my $directory = 'D:\WorkArena\Data\Final build '; my $outfile = '... dummy.zip'; DirZip( $directory, $outfile ); exit( 0 ); sub DirZip { my( $indir, $outzip ) = @_; $outzip = path( $outzip )->absolute; $indir = path( $indir )->absolute; my $prefix = path( $indir )->absolute; my $zip = Archive::Zip->new(); for my $infile ( $indir->children ) { my $shortname = path( $infile )->relative( $prefix ); print "Trying to addFile( $infile , $shortname )\n"; if( $infile->is_file ) { $zip->addFile( "$infile", "$shortname" ) or warn "Can't ->addFile( $infile, $shortname ) "; } else { AZ_OK == $zip->addTree( "$infile", "$shortname" ) or warn "Can't ->addTree( $infile, $shortname ) "; } } print "Trying to ->writeToFileNamed( $outzip )\n"; my $status = $zip->writeToFileNamed( "$outzip" ); die "ERROR ->writeToFileNamed( $outzip ) , status == $status " if $status != AZ_OK; } ## end sub DirZip __END__
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Error while Zipping a Directory
by sanvin (Novice) on Aug 24, 2015 at 10:08 UTC |