Exemple #1
0
        internal static void ExtractFromRarArchive(ExpandTuRarArchiveCommand cmdlet)
        {
            string[] pathToArchive         = cmdlet.ArchiveName;
            string   pathToTargetDirectory = cmdlet.TargetFolder;
//            ExtractExistingFileAction fileAction = ExtractExistingFileAction.DoNotOverwrite;
//            if (cmdlet.Overwrite) {
//                fileAction = ExtractExistingFileAction.OverwriteSilently;
//            }
            var options = ExtractOptions.Overwrite;

            foreach (string path in pathToArchive)
            {
                if (!string.IsNullOrEmpty(path))
                {
                    cmdlet.WriteVerbose(
                        cmdlet,
                        "extracting '" +
                        path +
                        "'");

                    try {
//                        using (Ionic.zipARchive = ZipFile.Read(path)) {
//
//                            cmdlet.WriteVerbose(cmdlet, "opening the archive");
//
//                            foreach (ZipEntry entry in zipARchive) {
//
//                                entry.Extract(pathToTargetDirectory, fileAction);
//                                cmdlet.WriteObject(
//                                    cmdlet,
//                                    pathToTargetDirectory +
//                                    @"\" +
//                                    entry.FileName);
//                            }
//                        }

                        RarArchive.WriteToDirectory(
                            path,
                            pathToTargetDirectory,
                            options);

                        // RarArchive.IsRarFile
                    } catch (Exception eExtract) {
                        cmdlet.WriteError(
                            cmdlet,
                            "Failed to extract archive '" +
                            path +
                            "'. " +
                            eExtract.Message,
                            "FailedToExtract",
                            ErrorCategory.InvalidOperation,
                            false);
                    }
                }
            }
        }
Exemple #2
0
        internal static void ExtractFromRarArchive(ExpandTuRarArchiveCommand cmdlet)
        {
            string[] pathToArchive = cmdlet.ArchiveName;
            string pathToTargetDirectory = cmdlet.TargetFolder;
//            ExtractExistingFileAction fileAction = ExtractExistingFileAction.DoNotOverwrite;
//            if (cmdlet.Overwrite) {
//                fileAction = ExtractExistingFileAction.OverwriteSilently;
//            }
            var options = ExtractOptions.Overwrite;
            
            foreach (string path in pathToArchive) {
                
                if (!string.IsNullOrEmpty(path)) {
                    
                    cmdlet.WriteVerbose(
                        cmdlet,
                        "extracting '" +
                        path +
                        "'");
                    
                    try {
                        
//                        using (Ionic.zipARchive = ZipFile.Read(path)) {
//                            
//                            cmdlet.WriteVerbose(cmdlet, "opening the archive");
//                            
//                            foreach (ZipEntry entry in zipARchive) {
//                                
//                                entry.Extract(pathToTargetDirectory, fileAction);
//                                cmdlet.WriteObject(
//                                    cmdlet,
//                                    pathToTargetDirectory +
//                                    @"\" +
//                                    entry.FileName);
//                            }
//                        }
                        
                        RarArchive.WriteToDirectory(
                            path,
                            pathToTargetDirectory,
                            options);
                            
                        // RarArchive.IsRarFile
                    } catch (Exception eExtract) {
                        cmdlet.WriteError(
                            cmdlet,
                            "Failed to extract archive '" +
                            path +
                            "'. " +
                            eExtract.Message,
                            "FailedToExtract",
                            ErrorCategory.InvalidOperation,
                            false);
                    }
                }
            }
        }