메인 디렉토리가 "MyMainFolder"인 MyFile.zip과 그 안에 여러 하위 디렉토리 중 하나 (MySubFolder) ... 하위 디렉토리와 내용이 모두 추출됩니다.C# DotNetZip을 사용하여 하위 디렉토리를 추출하는 방법은 무엇입니까?
저는 'MySubFolder'를 추출 할 수 있도록 MyMainFolder를 '단계 들어가는'방법을 알아 내려고하고 있습니다.
필자가 찾고있는 폴더가 zip의 기본 폴더로 존재하는 한 폴더를 추출하는 일부 코드가 있습니다 ... 주 폴더가 "MyMainFolder"라고 인식되면 검색 할 수 있습니다. 그 내부를보고 MySubFolder의 메인 지퍼 루트를 살펴 보지 말고 추출하십시오).
using (ZipFile zip1 = ZipFile.Read(fileName))
{
zipFile = ZipFile.Read(@""+fileName);
var result = zipFile.Any(entry => entry.FileName.Contains("MySubFolder"));
if (result == false)
{
MessageBox.Show("MyMainFolder detected....Extracting from MyMainFolder...");
// something here that will extract JUST MySubFolder and contents
} else {
foreach (var e in selection)
{
var selection = (from e in zip1.Entries where (e.FileName).Contains("NySubfolder") select e)
e.Extract(outputDirectory);
}
}
}
지금까지 나는 경우 - 다른 사람의 각 부분 내에서 사용하여 별도의 퍼팅 시도, 그리고 내가 루트 폴더 이름을 강제로 시도하는 별도의 selectionX (항상있을 것이다 '만드는 시도 MyMainFolder '가이 실험을 위해) MySubFolder를 추출 할 수 있다고 생각하면서 보았던 부분에 속하지만, 그 중 하나를 작동시키지 못했습니다. 나는 stackflow 및 elsehwere에서 발견 된 몇 가지 다른 방법을 통합하려고 시도했다. '파일을 추출하는 방법'의 일부를 사용하는 것과 같지만 zipfile의 경로를 무시하고 다른 주요 게시물을 건너 뛰고 ' 폴더를 추출 할 때. 이 outputDirectory (만 'MySubFolder'(및 내용)과 추출물을 얻을 수 있도록 (어떤 도움이 감사하지 MyMainFolder \ MySubFolder ...)
. 감사합니다 !! 전체 내용이지만 열거
본 적이 있습니까? [DotNetZip을 사용하여 zip에서 특정 폴더 추출하기] (http://stackoverflow.com/questions/4788386/extracting-a-specific-folder-from-a-zip-using-dotnetzip?rq=1) –
예 .. 그것이 위의 코드를 얻은 곳입니다. 나는 if-else를 추가했다. – CopalFreak
아직이 작업 중 ... "MyMainFolder"가 Zip 파일의 루트에있는 경우 '감지'할 수 있지만 'MyMainFolder'내부에 존재하는 'MySubFolder'는 존재하지 않습니다 ... 훨씬 적습니다. MyMainFolder를 추출하지 않고 MySubFolder를 추출하십시오. – CopalFreak