PDA

View Full Version : zip کردن چند فولدر



razaghi
شنبه 27 دی 1393, 10:43 صبح
با سلام.
یکسری فولدر دارم می خواهم چند تا از فولدرها را زیپ کنم. فولدرهای شامل فایلهایی هستند که نام آنها یکسان است.
در هر فولدر سه فایل تصویر است.
ما حدود 100 تا فولدر یا بیشتر داریم می خواهم 10 تا را فقط zip کنم و روشی برای zip کردن چند فولدر پیدا نکردم.

ممنون راهنمایی فرمایید.

حسین.کاظمی
شنبه 27 دی 1393, 11:46 صبح
سلام
دوست عزیز من
این کار را میخایید با سی شارپ انجام بدید؟؟؟؟

SabaSabouhi
شنبه 27 دی 1393, 12:46 عصر
سلام
دو راه دارین،
یکی این که RAR.exe ( فایل command prompt version از winRAR ) رو با پارامتر‌های مناسب اجرا کنید ( یا یه برنامه مناسب دیگه )
که من قبلاً از این روش استفاده می‌کردم و مشکلی هم نداشتم. اما راه قشنگی نیست.
دوم این که از یه کتابخونه مناسب استفاده کنید. خود WinRAR اگه تمایل داشته باشین، کتابخونه‌ی خودش رو می‌فروشه.
یا حتا می‌تونین ای یه کتابخونه رایگان مثل SharpZipLib استفاده کنید. دقیقاً مثال فشرده کردن چند فولدر رو هم داره.
امتیاز این روش اینه که همه چیز در اختیار خودتونه و نیاز به اجرای یک برنامه‌ی دیگه ( و درگیری با مشکلات مربوط به اون ) رو ندارین.

صبا صبوحی

erfan_urchin
شنبه 27 دی 1393, 13:30 عصر
شما اول برو توی قسمت Add Reference و از قسمت Framework کتابخانه System.IO.Compression.FileSystem رو ادد کن
بعد کدهای زیر رو وارد کن
using System.IO;
using System.IO.Compression;

و اگه بخوای چندتا فولدر رو زیپ کنی باید از foreach استفاده کنی مثل کد زیر
DirectoryInfo dir = new DirectoryInfo(@"D:\");
foreach (DirectoryInfo folderName in dir.GetDirectories())
ZipFile.CreateFromDirectory(@"D:\" + folderName, @"D:\");

البته این کد همه فولدرهای داخل درایو D رو زیپ میکنه اگه میخوای چندتا فولدر خاص زیپ بشن باید نسبت به نیازت شرط بزاری که فقط یه سری از فولدرهارو زیپ کنه
موفق باشی