ZipFile クラスには ExtractSelectedEntries メソッドがあります。これがメソッドのシグネチャです。
public void ExtractSelectedEntries(string selectionCriteria, string directoryPathInArchive, string extractDirectory, ExtractExistingFileAction extractExistingFile)
したがって、プログラムでは、selectionCriteria を指定することで、指定されたファイルを簡単に抽出できます。
public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
ZipFile zip = ZipFile.Read(zipFileName);
Directory.CreateDirectory(outputDirectory);
zip.ExtractSelectedEntries("name = *.doc", "document\", outputDirectory, ExtractExistingFileAction.OverwriteSilently);
}
AND または OR の接続詞を使用して条件を組み合わせることができます。selectionCriteria に "name = *.txt AND size >= 100k" のような文字列を使用すると、名前が .txt で終わり、圧縮されていないサイズが 100 キロバイト以上のエントリが取得されます。
ここにいくつかの基準のサンプルがあります
基準 (取得したファイル)
name != *.xls (.xls 以外の拡張子を持つ任意のファイル)
name = *.mp3 (拡張子が .mp3 の任意のファイル)
*.mp3 (上記と同じ、拡張子が .mp3 の任意のファイル)
attributes = A (属性にアーカイブ ビットが含まれるすべてのファイル)
attributes != H (属性に Hidden ビットが含まれていないすべてのファイル)
mtime > 2009-01-01 (最終変更時刻が 2009 年 1 月 1 日以降のすべてのファイル)
サイズ > 2GB (非圧縮サイズが 2GB を超えるすべてのファイル)
詳細については、ライブラリと一緒に API ドキュメントだけを読む必要があります。