免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7680 | 回复: 12
打印 上一主题 下一主题

perl解压文件问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-16 14:54 |只看该作者 |倒序浏览
如果一个zip文件里面有几个文件,我想解压到当前目录,请问用perl该如何解决.谢谢!

[ 本帖最后由 juming1983 于 2009-12-16 15:09 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-12-16 15:06 |只看该作者
system不就实现了吗?

论坛徽章:
0
3 [报告]
发表于 2009-12-16 15:09 |只看该作者

回复 #2 gaochong 的帖子

是需要用perl解压出来的!

论坛徽章:
0
4 [报告]
发表于 2009-12-16 15:36 |只看该作者
多在cpan上找找啦~
http://search.cpan.org/~adamk/Archive-Zip-1.30/lib/Archive/Zip.pm

如果没有GF你会认真找吧,找module也要像找GF一样滴~

论坛徽章:
0
5 [报告]
发表于 2009-12-16 16:40 |只看该作者
原帖由 兰花仙子 于 2009-12-16 15:36 发表
多在cpan上找找啦~
http://search.cpan.org/~adamk/Archive-Zip-1.30/lib/Archive/Zip.pm

如果没有GF你会认真找吧,找module也要像找GF一样滴~


仙子大姐 是否常当媒婆?

论坛徽章:
0
6 [报告]
发表于 2009-12-16 16:46 |只看该作者
原帖由 mouse.rice 于 2009-12-16 16:40 发表


仙子大姐 是否常当媒婆?


恩,有这个想法~

论坛徽章:
0
7 [报告]
发表于 2013-08-28 14:55 |只看该作者
如果一个zip文件里面有几个文件,我想解压到当前目录,请问用perl该如何解决。。。
不得其解啊。。。

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
8 [报告]
发表于 2013-08-28 15:22 |只看该作者
建议看Archive::Extract的perldoc
  1. #!perl
  2. use strict;
  3. use Archive::Extract;

  4. my $zip_file = 'test.zip';
  5. my $extract_to = '/tmp';

  6. # build an Archive::Extract object
  7. my $ae = Archive::Extract->new( archive => $zip_file );

  8. # extract to current working directory
  9. $ae->extract();

  10. # or extract to directory specified
  11. $ae->extract(to => $extract_to);

  12. __END__
复制代码
回复 7# cups_book


   

论坛徽章:
0
9 [报告]
发表于 2013-08-29 15:44 |只看该作者
本帖最后由 cups_book 于 2013-08-29 15:46 编辑

回复 8# stanley_tam


   
多谢,我正按此方向往下走。
我需要先把文件夹里的所以zip文件都读出来,让后逐个解压。
现在遇到的问题是:

my $dir = 'C:\\Program Files\\get_map_files\\SPAR\\gtw\\maps';
LogNor("mmm - ".$dir);
my @files = <$dir\\* $dir/.*>;

@files读出来的内容就是:
C:\Program
C:\Program

文件夹的路径包含空格,应该怎么办呢

论坛徽章:
0
10 [报告]
发表于 2013-08-29 15:48 |只看该作者
完整的代码:
  1.         if (scalar(@files) > 0 ) {
  2.                 LogNor(scalar(@files)." files");
  3.                 foreach(@files){
  4.                         LogNor($_);
  5.                         if(-f $_){
  6.                                 ## build an Archive::Extract object ###
  7.                                 $ae = Archive::Extract->new( archive => $_ );
  8.                                 ## extract to /tmp ###
  9.                                 $ok2 = $ae->extract( to => $ExtraPath );
  10.                         }
  11.                 }
  12.         } else {
  13.                 LogNor('No files');
  14.         }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP