Ruby 收集所有具有相同名称的zip文件,然后再次压缩

Ruby 收集所有具有相同名称的zip文件,然后再次压缩,ruby,zip,Ruby,Zip,我有一个目录,其中包含同一脚本的多个带有时间戳的日志。我想收集所有的zip文件并制作一个新的zip Directory Structure: Test_1_Run_Logs_06-12-2018_10_15_35.zip Test_1_Integration_Logs_06-12-2018_10_15_35.zip Test_1_Interface_Logs_06-12-2018_10_15_35.zip Test_2_Run_Logs_06-12-2018_10_30_35.zip Test_

我有一个目录,其中包含同一脚本的多个带有时间戳的日志。我想收集所有的zip文件并制作一个新的zip

Directory Structure:
Test_1_Run_Logs_06-12-2018_10_15_35.zip
Test_1_Integration_Logs_06-12-2018_10_15_35.zip
Test_1_Interface_Logs_06-12-2018_10_15_35.zip
Test_2_Run_Logs_06-12-2018_10_30_35.zip
Test_2_Integration_Logs_06-12-2018_10_30_35.zip
Test_2_Interface_Logs_06-12-2018_10_30_35.zip
我已经分离了所有同名的文件。zip文件未移动所有zip文件。如何在ruby中实现它

Code
require 'fileUtils'
require 'zip'
scriptNameArr = []
logFolder = 'C:/Users/Desktop/logs/'
copyFolder = "C:/Users/admin/Desktop/Test/Ruby Test/copyFolder/"

# Collect all the files present in logFolder separating by timestamp
Dir.entries("#{logFolder}/").each do |fName|
    unless (File.directory? "#{logFolder}#{fName}")
         scriptNameArr << fName.split("/").last.split(/_\d+-\d+-/)[0]
    end
end
scriptNameArr.uniq!

# Create a new zip into copy 
scriptNameArr.each do |scriptName|
    zipName = "#{copyFolder}#{scriptName}.zip"
    Dir.mkdir(copyFolder) unless (Dir.exist?(copyFolder))
    FileUtils.rm(zipName) if File.exist? (zipName)
    Zip::File.open(zipName, Zip::File::CREATE) do |zip|
         Dir.glob("#{logFolder}#{scriptName}*") { |file|
             fileName = file.split("/").last
             zip.add(fileName, logFolder)
         }
    end
end
code
需要“fileUtils”
需要“zip”
scriptNameArr=[]
logFolder='C:/Users/Desktop/logs/'
copyFolder=“C:/Users/admin/Desktop/Test/Ruby Test/copyFolder/”
#收集logFolder中按时间戳分隔的所有文件
目录项(“#{logFolder}/”),每个都有| fName|
除非(File.directory?#{logFolder}#{fName}”)
scriptNameArr

zip.add(filename,logFolder)


正确:
zip.add(文件名,File.join(日志文件夹,文件名))

快乐编码!:)