zipruby で zip ファイルを作る

Ruby で zip ファイルを作る方法をメモっとこ。こちらさんを参考にさせてもらいました。:-)

インストール

gem を読み込んで、rb ファイルに require 'zipruby' を追記すればOK。

>gem install zipruby

使い方

1ファイルをzip化する。

Zip::Archive.open("outdir/test.zip", Zip::CREATE) do |ar|
  ar.add_file('tkuser.txt')
end


指定フォルダ以下を全部zip化する。ちなみにパス名は Shift_JIS に変換してみたよ。

Zip::Archive.open("outdir/test2.zip", Zip::CREATE) do |ar|
  Find.find("target_dir") do |path|
    entry = NKF.nkf('-U -s -Lw', path)
    if File.directory?(path)
      ar.add_dir(entry)
    else
      ar.add_file(entry, path)
    end
  end
end


test3.zip ファイルを暗号化する。test3.zip は先に作っておいてね。:-)

Zip::Archive.encrypt("outdir/test3.zip", 'pass123')


簡単だね! (^_^)v

環境

  • Mac OSX 10.7.5
  • ruby ruby 2.1.0
  • zipruby (0.3.6)