Je veux compresser des fichiers et des dossiers dans un dossier en utilisant c # et j'ai vérifié les questions précédemment posées mais elles ne fonctionnent pas pour moi ... j'essaye actuellement de travailler avec DotNetZip. Voici un peu de mon code:

    using (ZipFile zip = new ZipFile())
        {
            string[] files = Directory.GetFiles(@"C:\Users\T1132\Desktop\logs");
            // add all those files to the logs folder in the zip file
            zip.AddFiles(files, "logs");
            zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G");
            var a = System.DateTime.Now.ToString();
            zip.Save(@"C:\Users\T1132\Desktop\logs\Archiver.zip");
            foreach (var f in files)
            {
                System.IO.File.Delete(f);
                System.Diagnostics.Debug.WriteLine(f + "will be deleted");
            }
        }

Le code ci-dessus fonctionne mais il ne zippe que les fichiers et laisse les dossiers. Veuillez m'aider s'il vous plaît, merci.

c#
-2
Praise Hart 25 juil. 2017 à 14:23

2 réponses

Vous pouvez utiliser le code ci-dessous.

 string zipFileName=  "zip full path with extension";
            var files = Directory.GetFiles(" directory path");
        Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile();
        foreach(var file in files) {
            zip.AddFile(file);
        }
        zip.Save(zipFileName);
0
Vijay Raheja 25 juil. 2017 à 11:29

J'utilise ceci et cela fonctionne très bien. Assurez-vous que le répertoire dispose de suffisamment d'autorisations.

System.IO.Compression.ZipFile.CreateFromDirectory(zipPath, path + strFileName + ".zip");
0
summerGhost 25 juil. 2017 à 11:29