BuildServerUploaderConsole.Processes.ZipHelper.CreateZip C# (CSharp) Метод

CreateZip() публичный статический Метод

public static CreateZip ( IResults results, string destinationDirectory, string directoryWithContentsToZip, string zipFileName ) : void
results IResults
destinationDirectory string
directoryWithContentsToZip string
zipFileName string
Результат void
        public static void CreateZip(IResults results, string destinationDirectory, string directoryWithContentsToZip, string zipFileName)
        {
            var containedObjects = new List<string>();

            string fullZipFileName = directoryWithContentsToZip + "\\" + zipFileName + ".zip";

            if (File.Exists(fullZipFileName))
            {
                File.Delete(fullZipFileName);
            }

            var directories = Directory.GetDirectories(directoryWithContentsToZip, "*", SearchOption.TopDirectoryOnly);

            containedObjects.AddRange(directories);

            for (int i = 0; i < containedObjects.Count; i++)
            {
                containedObjects[i] = containedObjects[i] + "\\";
            }


            containedObjects.AddRange(Directory.GetFiles(directoryWithContentsToZip, "*", SearchOption.TopDirectoryOnly));

            using (var zip = new ZipFile())
            {
                foreach (string containedObject in containedObjects)
                {

                    if (containedObject.EndsWith("\\"))
                    {
                        string relativeDirectory = FileManager.MakeRelative(containedObject, directoryWithContentsToZip);
                        zip.AddDirectory(containedObject, relativeDirectory);
                    }
                    else
                    {
                        zip.AddFile(containedObject, "");
                    }

                }

                zip.Save(fullZipFileName);

                File.Copy(fullZipFileName, destinationDirectory + zipFileName + ".zip", true);
            }

            results.WriteMessage("Zipped directory " + directoryWithContentsToZip + " into " + zipFileName);
        }
    }

Usage Example

Пример #1
0
        public override void ExecuteStep()
        {
            string ZipDirectory = DirectoryHelper.ReleaseDirectory + @"ZippedTemplates/";

            if (!System.IO.Directory.Exists(ZipDirectory))
            {
                System.IO.Directory.CreateDirectory(ZipDirectory);
            }

            var zips = new List <ZipProcess>();

            foreach (var engine in AllData.Engines)
            {
                var zipProcess = new ZipProcess
                {
                    ZipDirectory = engine.TemplateName,
                    ZipFileName  = engine.TemplateName
                };

                zips.Add(zipProcess);
            }

            zips.Add(new ZipProcess
            {
                ZipDirectory = "GluePluginTemplate",
                ZipFileName  = "GluePluginTemplate"
            });


            foreach (var zipProcess in zips)
            {
                RemoveBinRecursiveFrom(DirectoryHelper.TemplateDirectory + zipProcess.ZipDirectory);


                ZipHelper.CreateZip(Results, ZipDirectory, DirectoryHelper.TemplateDirectory + zipProcess.ZipDirectory, zipProcess.ZipFileName);
            }
        }
All Usage Examples Of BuildServerUploaderConsole.Processes.ZipHelper::CreateZip
ZipHelper