#!/perl/bin -w ####################################################################### # # Author: # Date: # Purpose: # ####################################################################### ### Modules used in the script use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); ### Global Variables $fileCount = 0; $trashcan = "c:/temp/trashcan.txt"; $file_path = "c:/temp/zip"; ####################################################################### @files = ; foreach $file (@files) { $fileCount++; } print "We have $fileCount files to work with .. lets begin\n"; ####################################################################### foreach $file (@files) { chomp($file); $file_to_zip = "$file"; $file =~ s/\//|/g; $file =~ s/\-/|/g; $file =~ s/.tif/|/g; $file = lc($file); #here I wanted to force the case type to lower case for consistency push @items, "$file\n"; } my $zip = Archive::Zip->new(); foreach $case (@items) { chomp($case); @values = split(/\|/,$case); $driveltr = $values[0]; $dira = $values[1]; $dirb = $values[2]; $unique_id = $values[3]; $case_num = $values[4]; $case_part = $values[5]; $tester = length($case_part); $zip_file_name = "$file_path/$case_num.zip"; if ($tester > 0) { $file_name = "$unique_id-$case_num-$case_part.tif"; $file_to_zip = "$file_path/$unique_id-$case_num-$case_part.tif"; #$zip_file_name = "$file_path/$case_num-$case_part.zip"; } else { $file_name = "$unique_id-$case_num.tif"; $file_to_zip = "$file_path/$unique_id-$case_num.tif"; } print "to that zip file I will add $file_name\n"; #my $zip = Archive::Zip->new(); my $member = $zip->addDirectory( 'dirname/' ); #$member = $zip->addString( 'This is a test', 'stringMember.txt' ); #$member->desiredCompressionMethod( COMPRESSION_DEFLATED ); $member->desiredCompressionMethod(); $member = $zip->addFile( "$file_to_zip", "$file_name" ); #die 'write error' unless $zip->writeToFileNamed( $zip_file_name ) == AZ_OK; #sleep(2); } die 'write error' unless $zip->writeToFileNamed( $zip_file_name ) == AZ_OK;