public IEnumerable <string> GetCodeItems(OptionPreference preferLongNames = OptionPreference.Short) { // -z, --gzip: Filter the archive through gzip(1). if ((Flags & TarFlags.Gzip) != 0) { yield return(preferLongNames == OptionPreference.Long ? "--gzip" : "-z"); } // -Z, --compress: Filter the archive through compress(1). if ((Flags & TarFlags.Compress) != 0) { yield return(preferLongNames == OptionPreference.Long ? "--compress" : "-Z"); } // -v: Verbose if ((Flags & TarFlags.Verbose) != 0) { yield return("-v"); } // -f =tar-archive: Archive if (!string.IsNullOrEmpty(ArchiveFileName)) { yield return("-f"); yield return(ArchiveFileName.ShellQuote()); } }
private void DoAutoArchive(string fileName, LogEventInfo ev) { var fi = new FileInfo(fileName); if (!fi.Exists) { return; } // Console.WriteLine("DoAutoArchive({0})", fileName); string fileNamePattern; if (ArchiveFileName == null) { var ext = Path.GetExtension(fileName); fileNamePattern = Path.ChangeExtension(fi.FullName, ".{#}" + ext); } else { fileNamePattern = ArchiveFileName.Render(ev); } switch (ArchiveNumbering) { case ArchiveNumberingMode.Rolling: RecursiveRollingRename(fi.FullName, fileNamePattern, 0); break; case ArchiveNumberingMode.Sequence: SequentialArchive(fi.FullName, fileNamePattern); break; } }
protected override void ProcessRecord() { foreach (var archiveFileName in ArchiveFileName.Select(_ => Path.Combine(SessionState.Path.CurrentFileSystemLocation.Path, _))) { WriteVerbose($"Getting archive data {archiveFileName}"); SevenZipExtractor extractor; if (!string.IsNullOrEmpty(_password)) { extractor = new SevenZipExtractor(archiveFileName, _password); } else { extractor = new SevenZipExtractor(archiveFileName); } using (extractor) { extractor.Check(); WriteObject(new ArchiveInformation { FileName = Path.GetFileName(archiveFileName), FullPath = Path.GetFullPath(archiveFileName), PackedSize = extractor.PackedSize, UnpackedSize = extractor.UnpackedSize, FilesCount = extractor.FilesCount, Format = extractor.Format, Method = extractor.ArchiveProperties.Where(prop => prop.Name == "Method").Cast <ArchiveProperty?>().FirstOrDefault()?.Value }); } } }
protected override void ProcessRecord() { foreach (var archiveFileName in ArchiveFileName.Select(_ => Path.GetFullPath(Path.Combine(SessionState.Path.CurrentFileSystemLocation.Path, _)))) { WriteVerbose($"Getting archive data {archiveFileName}"); SevenZipExtractor extractor; if (!string.IsNullOrEmpty(_password)) { extractor = new SevenZipExtractor(archiveFileName, _password); } else { extractor = new SevenZipExtractor(archiveFileName); } using (extractor) { foreach (var file in extractor.ArchiveFileData) { WriteObject(new PSObject(file)); } } } }