Arkiv & unarchive mapper i Perl på Windows 2003

Indlæg af Hanne Mølgaard Plasc

Problem



Der er to drev på Windows server A: (kortlagt filsystem) G: (Lokal drev)


Jeg ønsker at tage en tilbage af en mappe (&undermapper i den) sige 'backup' fra G-drev til A: drev ved hjælp af perl og arkivering og derefter unarchiving og uden at forstyrre mappestrukturen i Backup-mappen.

Bedste reference


Jeg kan udarbejde den grundlæggende ide med File::Find og Archive::Zip: [5] [6]


use Archive::Zip qw( :ERROR\_CODES :CONSTANTS );
use File::Find qw<find>;

my $zip = Archive::Zip->new();
find sub { $zip->addFile( $File::Find::name ); } => $my\_directory;
$zip->writeToFileNamed( $my\_zip\_file\_name );


Ekstraktion kan være så simpelt som:


$zip->extractTree( $root\_in\_zipfile, $external\_destination )


Se [7]