2009-10-16 45 views
0

路上我試圖用RubyZip打包了一些文件。目前,我有愉快地呼嘯而過的特定目錄和子目錄的方法。RubyZip - 從不同的目錄中的文件有壓縮

def zip_directory(zipfile) 
    Dir["#{@directory_to_zip}/**/**"].reject{|f| reject_file(f)}.each do |file_path| 
     file_name = file_path.sub(@directory_to_zip+'/',''); 
     zipfile.add(file_name, file_path) 
    end 
end 

但是,我想從一個完全不同的文件夾中包含一個文件。我有一個下面的方法來解決這個問題:

def zip_additional(zipfile) 
    additional_files.reject{|f| reject_file(f)}.each do |file_path| 
     file_name = file_path.split('\\').last 
     zipfile.add(file_name, file_path) 
    end 
end 

雖然添加的文件時,它還將複製的目錄結構,而不是將所述文件在文件夾的根目錄。這真的很煩人,並且使其更難處理。

我該如何解決這個問題?

感謝

回答

1

有設置包括(或排除)對於ZIP庫的完整路徑,請檢查設置

+0

我似乎無法看到任何東西的RDoc - http://rubyzip.sourceforge.net/ – 2009-10-16 12:07:22

+0

我不知道有關rubyzip,但我認爲這就是問題所在。標準的zip庫有此設置(包括完整路徑),也許這篇文章將幫上什麼忙?: http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip -files上即時/ 有注:關於如何創建路徑的代碼如下 – dusoft 2009-10-16 12:37:51

0

原來這是因爲文件名曾在拉路徑。我的分割不工作,因爲路徑使用/而不是a。從路徑中刪除文件名,它只是工作。

相關問題