[英]Create zip files in ruby by running unix commands, no gems please
該腳本運行正常。 我面臨的唯一問題是道路。 創建zip文件后。 如果我解壓縮它。 其具有完整的文件路徑,例如:
/name_the_file/Users/user_name/projects/project_name/public/system/files/10/original/*
我只想做到
name_of_the_file/*
desc "Create Zip file"
task :create_zip => :environment do
directory_path = "#{RAILS_ROOT}/public/system/files/10/original"
bundle_filename="#{directory_path}/"+ "name_of_file.zip"
filenames = "#{directory_path}/*"
%x{ cd #{directory_path}}
%x{ zip -r #{bundle_filename} #{filenames}}
end
PS:-我想創建zip文件。 沒有焦油,gzip等
解決方法如下:-
%x{ zip -r -j #{bundle_filename} #{filenames}}
通常,這將導致包含三個“子目錄”的zip文件:
a/
+ file1
b/
+ file2
c/
+ file3
使用-j,您將獲得:
./
+ file1
+ file2
+ file3
您將為每個文件名提供整個目錄路徑。 由於您已經更改到該目錄,因此不需要這樣做。
換句話說,如果將filenames
變量更改為:
filenames = "*"
它應該按您的預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.