Zip Each File in Directory into Separate .zip Files With 7zip


  • Eri
  • erial╦│newtimesroman[~@t~]gmail[~d.t~]com
  • Monday, January 17th, 2011
  • CopyLEFT (c) 2011++ www.spyrozone.net All Rights Reserved


Hi, ketemu lagi dengan Eri V^_^V

Saya punya beberapa file yang ingin saya kompresi satu-per-satu (terpisah) dalam format zip. Misalnya ada file eri1.doc, eri2.doc, eri3.doc dalam suatu folder. Nah, saya ingin hasil zipnya terpisah, eri1.zip, eri2.zip, eri3.zip ^^” Kalau jumlah filenya cuma 1 atau 2 sich, sepertinya tidak ada masalah melakukannya secara manual. Tapi bagaimana jika jumlah filenya ratusan? hehehe.. bisa keriting nich tangan saya :p Bagaimana cara melakukannya dengan 7zip?

Pengguna Winrar memang bisa melakukan ini dengan mudah. Winrar sebagai program berbayar memang dilengkapi segala fitur yang memudahkan pengguna. Nah, kebetulan saya pengguna 7zip (http://www.google.com/search?q=7zip), aplikasi Gratis yang sayangnya tidak selengkap Winrar T_T 7Zip tidak memiliki fitur untuk melakukan kompresi file secara individu dalam suatu folder T_T Windows udah bajakan, masa’ harus pakai Winrar bajakan sich.. :D gimana ya solusinya?

Akhirnya saya teringat sesuatu… Batch Programming :mrgreen:

Kompresi File Secara Terpisah Tanpa Password

Saya membuat script batch sederhana sebagai berikut:

@echo off
@rem -----------<begin CONFIG>----------
set source_path=C:\lokasi\file-file\yang\mau\dikompres
set output_path=C:\lokasi\output\hasil\kompresi
set sevenzip=C:\Program Files\7-Zip\7z.exe
@rem -----------<end CONFIG>----------
for /f "usebackq delims=|" %%f in (`dir /b "%source_path%"`) do (
"%sevenzip%" a "%output_path%\%%f.zip" "%source_path%\%%f")
pause

Simpan script ditas dengan nama terserah-kamu.bat

Konfigurasi scriptnya sangat mudah:

set source_path= isikan lokasi file-file yang ingin dikompresi
set output_path= isikan lokasi output yang diinginkan
set sevenzip= isikan lokasi 7z.exe

Langsung ajah dengan contohnya yach. Misalnya file-file yang mau di zip/rar (atau sesuai tipe yang didukung 7zip) berada di C:\untuk\demo\spyrozone\dot\net

{image: File yang ingin di zip secara terpisah}

File yang ingin di zip secara terpisah

Lalu outputnya ingin diletakkan di C:\output (pastikan Anda sudah membuat folder untuk outputnya), maka modifikasi script diatas menjadi seperti ini:

{image: eri7zip.bat}

eri7zip.bat

Ingat yach, jangan memberi karakter “\” di belakang lokasi folder.

Dalam contoh ini, saya menyimpan script tersebut dengan nama eri7zip.bat. Klik 2x eri7zip.bat, sekelebat jendela CMD akan muncul. Jika sukses, outputnya kurang lebih demikian:

{image: Sukses melakukan kompresi}

Sukses melakukan kompresi

Sekarang, mari kita lihat hasilnya di C:\output

{image: File hasil kompresi}

File hasil kompresi

Sukses euy! ;)

Kompresi File Secara Terpisah Dengan Password

Nah, bagaimana kalau sekarang saya mau semua file yang saya kompresi otomatis terpassword? Gampang kok, tinggal menambahkan parameter “-p” saat memanggil 7zip:

@echo off
@rem -----------<begin CONFIG>----------
set source_path=C:\lokasi\file-file\yang\mau\dikompres
set output_path=C:\lokasi\output\hasil\kompresi
set sevenzip=C:\Program Files\7-Zip\7z.exe
set archive_password=www.spyrozone.net
@rem -----------<end CONFIG>----------
for /f "usebackq delims=|" %%f in (`dir /b "%source_path%"`) do (
"%sevenzip%" a "%output_path%\%%f.zip" "%source_path%\%%f" -p%archive_password%)
pause

Script diatas memiliki 1 tambahan konfigurasi:

set archive_password= isikan password yang diinginkan

Gampang khan? :D Selamat mencoba yah :roll:


//E.O.F