如何在ruby中压缩包含子文件夹的文件夹

如何在ruby中压缩包含子文件夹的文件夹,ruby,zipfile,Ruby,Zipfile,下面是我尝试过的方法。在这种情况下,所有子文件夹(子文件夹1,…2)都包含很少的文件夹和文件。此方法正在创建包含所有子文件夹的zip文件,但所有子文件夹均为空。它没有任何文件夹或文件 def zip_文件 require 'zip' folder = "D:/my_folder" input_filenames = ['subfolder1', 'subfolder2', 'subfolder3'] zipfile_name = "D:\\my_folder.zip"

下面是我尝试过的方法。在这种情况下,所有子文件夹(子文件夹1,…2)都包含很少的文件夹和文件。此方法正在创建包含所有子文件夹的zip文件,但所有子文件夹均为空。它没有任何文件夹或文件

def zip_文件

  require 'zip'

  folder = "D:/my_folder"

  input_filenames = ['subfolder1', 'subfolder2', 'subfolder3']

  zipfile_name = "D:\\my_folder.zip"
  Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile|
    input_filenames.each do |filename|
      zipfile.add(filename, File.join(folder, filename))
    end
  end
end

看起来你需要一个递归压缩