perl實現跨平台解壓檔案

來源:互聯網
上載者:User
由於我們的項目的測試平台很多,包括windows,linux平台。linux提供了一個解壓的unzip命令,但是windows下比較麻煩,win 2000下面沒有提供任何命令用來解壓檔案,xp中提供unzip這個命令,但是在vista中又沒有這個命令了。

這就很麻煩,不能單純依靠作業系統提供的命令來解壓檔案,所以我寫了一個指令碼用來處理這種需要。

在linux下我就不寫了,只要用unzip命令就可以了,很簡單。

下面主要描述解決windows下的問題的模組。
perl中提供了一個Archive包,用來解決解壓,壓縮檔的問題。

我只是簡單的應用了一下這個包的解壓功能。

  1. #! /usr/bin/perl -w
  2. my ($file,$targetDir) = @ARGV;
  3. if (!defined($targetDir)){
  4.     $targetDir = ".";
  5.     print "unzip $file to current dir.../n";
  6. }else{
  7.     print "unzip $file to $targetDir.../n";
  8. }
  9. use Archive::Extract;
  10. my $ar = Archive::Extract->new( archive => $file);
  11. my $ok = $ar->extract( to => $targetDir) or die;

這個指令碼主要就是將指定的壓縮檔 解壓到指定目錄,如果不指定解壓目錄,則解壓到目前的目錄。

這樣當我們在各個平台上解壓檔案的時候只要調用該指令碼就可以了,只要提供路徑就 足夠了。而不要根據系統而去寫代碼。

:-D。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.