2016-04-18 16 views
1

C#でIonicZipライブラリを使用してフォルダを圧縮しようとしています。フォルダ内の.txt、.exe、.pdfなどを圧縮することはできますが、フォルダ内のフォルダを圧縮することはできません。Ionic Zipはフォルダ内のフォルダをzipで圧縮できませんC#

Folder

MusicLogs.txtとVideo.exeを圧縮することが可能であるが、音楽folder.Musicのフォルダには、いくつかのフォルダが含まれてすることはできません。それは、デバッグ中であっても音楽フォルダを表示しません。私のコードは:

string zipPath = @"C:\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm") + ".zip"; // zipped file extracts here 
string filename = @"E:\"; // the fodler which should be zipped. File must be exist 

using (ZipFile zipFile = new ZipFile()) 
{ 
    zipFile.Password = "asd"; 
    zipFile.Encryption = EncryptionAlgorithm.PkzipWeak; 
    foreach (string file in Directory.GetFiles(filename)) // this foreach is for getting all files in a folder. 
    { 
     zipFile.AddFile(file, "YESMusic"); // set file 
    } 

    zipFile.Save(zipPath); 

} 

問題はどこですか? AddFile関数の変更が必要ですか?おかげ

答えて

1

は、これは動作します:

using (ZipFile zipFile = new ZipFile()) 
{ 
    zipFile.Password = "asd"; 
    zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;   
    // Adding folders in the base directory 
    foreach (var item in Directory.GetDirectories(filename)) 
    { 
     string folderName = new DirectoryInfo(item).Name; 
     zipFile.AddDirectory(item, folderName); 
    } 
    // Adding files in the base directory 
    foreach (string file in Directory.GetFiles(filename)) 
    { 
     zipFile.AddFile(file); 
    } 
    zipFile.Save(zipPath); 
} 
+0

おかげで、それが働いている素晴らしいです!私はディレクトリセクションを逃したと思う。仲間ありがとう! – onur

+0

それは大丈夫です.. ..!あなたをお手伝いします。良い一日を持って –

+0

ありがとう、幸せな良い一日 – onur

関連する問題