1

私は現在、1 つの zip ファイルに圧縮する必要があるいくつかのパスを定義する必要がある小さなプロジェクトに取り組んでいます。

次のケース: これらのパスの 1 つはディレクトリであり、再帰的に圧縮する必要があります (含まれるすべてのファイルとサブフォルダーを含む)。圧縮する前に、権限を含むいくつかのことを確認します。圧縮したい現在のユーザーがファイルまたはフォルダーへのアクセス許可を持っていない場合は、除外する必要があります。

再帰モードでの圧縮からいくつかのファイルとディレクトリを除外するにはどうすればよいですか?

私はすでにこのようなことを試しましたが、引数はcmdにのみ存在するようです.

compressor.CustomParameters.Add("-x", "@C:\\Users\\******\\Desktop\\exclude.txt");
4

2 に答える 2

1

SevenZipSharp でファイルを除外する可能性は見つかりませんでした。代わりに、ファイルを削除するための優れた方法を持つ DotNetZip を使用し ZipFile.RemoveEntry()ますZipFile.RemoveEntries()

foreach (string removePath in Verifier.ExcludePaths)
{
    try
    {
        // Remove files and directories to be excluded
        zipFile.RemoveEntry(removePath);
    }
    catch (Exception)
    {
        Logger.Warn("Could not exclude path \"{0}\".",removePath);
    }
}
于 2013-02-19T16:27:55.020 に答える
0

SevenZipSharp がファイルを除外できることがわかりました。

SevenZipCompressor sevenZipCompressor = new SevenZipCompressor();
sevenZipCompressor.ModifyArchive(archiveName, dictionary);
// string archiveName: archive name
// Dictionary<int Index, string NewFileName>: NewFileName or Null value to delete the corresponding index. 
于 2017-12-06T00:49:28.877 に答える