require "zip" Zip::File.open(zip_path) do |zip_file| entry = zip_file.find_entry("foo.txt") # Zip::Entry zip_file.rename(entry, "bar.txt") end require "zip" Zip::File.open(zip_path) do |zip_file| # Zip::File#entriesはEnumerableなZip::EntrySetを返す zip_file.entries.sort_by(&:name).each.with_index(1) do |entry, n| new_name = "#{n}.txt" zip_file.rename(entry, new_name) end end