Gestione archivi ZIP

zip.get

Estrae i file da un archivio compresso.

Parametri:

  • filename: il nome del file zip
  • filelist: l’elenco dei file da estrarre (default tutti i file contenuti nell’archivio)
  • :files => []: un array con l’elenco dei file da estrarre (default tutti i file contenuti nell’archivio)
  • :pwd => "password": la password per decriptare i file (default nessuna password). E’ supportata solo la criptazione zip tradizionale (ZipCrypto), non la criptazione AES
  • :folders => true|false: true ricrea le eventuali sottocartelle contenute nel file zip (default); false non ricrea le sottocartelle
  • :outpath => path: il percorso in cui estrarre i file (default la cartella corrente)
  • :replace => true|false: true sovrascrive i file esistenti (default); false non sovrascrive i file
1
2
3
4
5
6
7
8
9
zip.get "zipfile1", :outpath => "out/report"

zip.get "zipfile1", "report1.html", "report1.xlsx"

zip.get "zipfile1", :files => ["report1.html", "report1.xlsx"]

zip.get "zipfile1", "tab/report2.xlsx", :folders => false

zip.get "zipfile2", "report*.*", :pwd => "pass123"

zip.new

Genera un archivio compresso.

Parametri:

  • filename: il nome del file zip
  • filelist: l’elenco dei file da comprimere
  • :files => []: un array con l’elenco dei file da comprimere
  • :pwd => "password": la password per criptare i file (default nessuna password). E’ supportata solo la criptazione zip tradizionale (ZipCrypto), non la criptazione AES
  • :folders => true|false: true memorizza le eventuali sottocartelle nel file zip (default); false non memorizza le sottocartelle nel file zip
  • :outpath => path: il percorso in cui generare il file zip (default la cartella corrente)
  • :inpath => path: il percorso in cui cercare i file da comprimere (default la cartella corrente o la cartella indicata nel nome del file)
  • :replace => true|false: true sovrascrive il file zip se esistente (default); false non sovrascrive il file zip
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
zip.new "zipfile1", "report1.xlsx"

zip.new "zipfile2", "report1.html", "report2.html"

zip.new "zipfile3", "#{@name}.xlsx", :pwd => "pass123"

zip.new "zipfile4", "**/*.xlsx"

zip.new "zipfile5",
        :outpath => "out",
        :pwd => "pass123",
        :files => [
                   "#{@name}.*",
                   "tab/*.xlsx",
                   "rake-raking.xlsx",
                   "report/*/*.*"
                  ]

Consiglio

La variabile @name contiene il nome del report (il nome di default o quello impostato con l’istruzione name)

zip.add

Aggiunge uno o più file a un archivio esistente.

Utilizza gli stessi parametri di zip.new tranne :pwd.

1
2
zip.add "zipfile", "data.sav"
zip.add "zipfile", "*.csv"

Attenzione

Anche se si aggiungono file a un archivio criptato, i file aggiunti non saranno criptati.