Hi
Does somebody knows how to create a zip file (.zip) without directories path?
Basically scripts create zip file, but when you extract it using winzip, it unzips the files including full path.
[tt]------------------------------------------------------------
Pragmas (perl 5.8.8) used :
[ul]
[li]strict - Perl pragma to restrict unsafe constructs[/li]
[/ul]
Other Modules used :
[ul]
[li]Archive::Zip[/li]
[/ul]
[/tt]
[/code]
dmazzini
GSM/UMTS System and Telecomm Consultant
Does somebody knows how to create a zip file (.zip) without directories path?
Basically scripts create zip file, but when you extract it using winzip, it unzips the files including full path.
Code:
[url=http://perldoc.perl.org/functions/use.html][black][b]use[/b][/black][/url] [green]strict[/green][red];[/red]
[black][b]use[/b][/black] [green]Archive::Zip[/green] [red]qw([/red][purple]:ERROR_CODES :CONSTANTS[/purple][red])[/red][red];[/red]
[url=http://perldoc.perl.org/functions/my.html][black][b]my[/b][/black][/url] [red]([/red][blue]%SCF[/blue],[blue]$scf_file[/blue],[blue]$trs_file[/blue],[blue]$zip_file[/blue],[blue]$rnc_scf[/blue],[blue]$wbts_scf[/blue],[blue]$rnc_trs[/blue],[blue]$wbts_trs[/blue][red])[/red][red];[/red]
[black][b]my[/b][/black] [blue]$dirscf[/blue] = [red]qq([/red][purple]C:[purple][b]\\[/b][/purple]Documents and Settings[purple][b]\\[/b][/purple]dmazzini[purple][b]\\[/b][/purple]Desktop[purple][b]\\[/b][/purple]3GDATA[purple][b]\\[/b][/purple]scf[/purple][red])[/red][red];[/red]
[black][b]my[/b][/black] [blue]$dirtrs[/blue] = [red]qq([/red][purple]C:[purple][b]\\[/b][/purple]Documents and Settings[purple][b]\\[/b][/purple]dmazzini[purple][b]\\[/b][/purple]Desktop[purple][b]\\[/b][/purple]3GDATA[purple][b]\\[/b][/purple]trs[/purple][red])[/red][red];[/red]
[black][b]my[/b][/black] [blue]$dirzip[/blue] = [red]qq([/red][purple]C:[purple][b]\\[/b][/purple]Documents and Settings[purple][b]\\[/b][/purple]dmazzini[purple][b]\\[/b][/purple]Desktop[/purple][red])[/red][red];[/red]
[url=http://perldoc.perl.org/functions/chdir.html][black][b]chdir[/b][/black][/url] [blue]$dirscf[/blue][red];[/red]
[black][b]my[/b][/black] [blue]@scf_files[/blue] =[url=http://perldoc.perl.org/functions/glob.html][black][b]glob[/b][/black][/url][red]([/red][red]'[/red][purple]*.xml[/purple][red]'[/red][red])[/red][red];[/red]
[black][b]chdir[/b][/black] [blue]$dirtrs[/blue][red];[/red]
[black][b]my[/b][/black] [blue]@trs_files[/blue] =[black][b]glob[/b][/black][red]([/red][red]'[/red][purple]*.xml[/purple][red]'[/red][red])[/red][red];[/red]
[olive][b]foreach[/b][/olive] [blue]$scf_file[/blue] [red]([/red][blue]@scf_files[/blue][red])[/red][red]{[/red]
[gray][i]#[WBTS-SCFILE]-[RNC-3000]-[WBTS-TEST1SECTOR].xml[/i][/gray]
[olive][b]if[/b][/olive] [red]([/red][blue]$scf_file[/blue] =~ [red]/[/red][purple][purple][b]\[[/b][/purple]WBTS-SCFILE[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]RNC-(.+)[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]WBTS-(.+)[purple][b]\][/b][/purple][purple][b]\.[/b][/purple]xml[/purple][red]/[/red][red])[/red][red]{[/red]
[blue]$rnc_scf[/blue]=[blue]$1[/blue][red];[/red]
[blue]$wbts_scf[/blue]=[blue]$2[/blue][red];[/red]
[olive][b]foreach[/b][/olive] [blue]$trs_file[/blue] [red]([/red][blue]@trs_files[/blue][red])[/red][red]{[/red]
[gray][i]#[WBTS-TRSFILE]-[RNC-3000]-[WBTS-TEST1SECTOR].xml[/i][/gray]
[olive][b]if[/b][/olive] [red]([/red][blue]$trs_file[/blue] =~ [red]/[/red][purple][purple][b]\[[/b][/purple]WBTS-TRSFILE[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]RNC-(.+)[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]WBTS-(.+)[purple][b]\][/b][/purple][purple][b]\.[/b][/purple]xml[/purple][red]/[/red][red])[/red][red]{[/red]
[blue]$rnc_trs[/blue]=[blue]$1[/blue][red];[/red]
[blue]$wbts_trs[/blue]=[blue]$2[/blue][red];[/red]
[olive][b]if[/b][/olive] [red]([/red][blue]$rnc_scf[/blue] eq [blue]$rnc_trs[/blue] && [blue]$wbts_scf[/blue] eq [blue]$wbts_trs[/blue][red])[/red] [red]{[/red]
[gray][i]#print "$rnc_trs=>$wbts_trs matchs $rnc_scf=>$wbts_scf\n";[/i][/gray]
[blue]$SCF[/blue][red]{[/red][blue]$scf_file[/blue][red]}[/red]=[blue]$trs_file[/blue][red];[/red]
[red]}[/red]
[red]}[/red]
[red]}[/red]
[red]}[/red]
[red]}[/red]
[olive][b]while[/b][/olive] [red]([/red] [red]([/red] [blue]$scf_file[/blue], [blue]$trs_file[/blue] [red])[/red] = [url=http://perldoc.perl.org/functions/each.html][black][b]each[/b][/black][/url][red]([/red] [blue]%SCF[/blue] [red])[/red] [red])[/red] [red]{[/red]
[url=http://perldoc.perl.org/functions/print.html][black][b]print[/b][/black][/url] [red]"[/red][purple]Creating Zip File for [blue]$scf_file[/blue] => [blue]$trs_file[/blue][purple][b]\n[/b][/purple][/purple][red]"[/red][red];[/red]
[black][b]my[/b][/black] [blue]$zip[/blue] = Archive::Zip->[maroon]new[/maroon][red]([/red][red])[/red][red];[/red]
[olive][b]if[/b][/olive] [red]([/red][blue]$scf_file[/blue] =~ [red]/[/red][purple][purple][b]\[[/b][/purple]WBTS-SCFILE[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]RNC-(.+)[purple][b]\][/b][/purple]-[purple][b]\[[/b][/purple]WBTS-(.+)[purple][b]\][/b][/purple][purple][b]\.[/b][/purple]xml[/purple][red]/[/red][red])[/red][red]{[/red]
[blue]$rnc_scf[/blue]=[blue]$1[/blue][red];[/red]
[blue]$wbts_scf[/blue]=[blue]$2[/blue][red];[/red]
[blue]$zip_file[/blue]=[blue]$rnc_scf[/blue].[red]"[/red][purple]_[/purple][red]"[/red].[blue]$wbts_scf[/blue]. [red]"[/red][purple].zip[/purple][red]"[/red] [red];[/red]
[red]}[/red]
[blue]$scf_file[/blue]= [red]qq([/red][purple]$dirscf[purple][b]\\[/b][/purple]$scf_file[/purple][red])[/red][red];[/red]
[blue]$trs_file[/blue]= [red]qq([/red][purple]$dirtrs[purple][b]\\[/b][/purple]$trs_file[/purple][red])[/red][red];[/red]
[blue]$zip_file[/blue] = [red]qq([/red][purple]$dirzip[purple][b]\\[/b][/purple]$zip_file[/purple][red])[/red][red];[/red]
[black][b]my[/b][/black] [blue]$file_member[/blue] = [blue]$zip[/blue]->[maroon]addFile[/maroon][red]([/red][blue]$scf_file[/blue][red])[/red][red];[/red]
[blue]$file_member[/blue] = [blue]$zip[/blue]->[maroon]addFile[/maroon][red]([/red][blue]$trs_file[/blue][red])[/red][red];[/red]
[olive][b]unless[/b][/olive] [red]([/red] [blue]$zip[/blue]->[maroon]writeToFileNamed[/maroon][red]([/red][blue]$zip_file[/blue][red])[/red] == AZ_OK [red])[/red] [red]{[/red] [url=http://perldoc.perl.org/functions/die.html][black][b]die[/b][/black][/url] [red]'[/red][purple]write error[/purple][red]'[/red][red];[/red][red]}[/red]
[blue]$scf_file[/blue]=[blue]$trs_file[/blue]=[red]"[/red][purple][/purple][red]"[/red][red];[/red]
[red]}[/red]
Pragmas (perl 5.8.8) used :
[ul]
[li]strict - Perl pragma to restrict unsafe constructs[/li]
[/ul]
Other Modules used :
[ul]
[li]Archive::Zip[/li]
[/ul]
[/tt]
[/code]
dmazzini
GSM/UMTS System and Telecomm Consultant