Нет, я полностью понимаю, и я прошу прощения, если то, что я спрашиваю, выходит таким образом. То, что вы предоставили, великолепно и очень мне помогло. Я искал способы заархивировать папки вместе, но все, что я нахожу, это способы заархивировать файлы.

у заархивировать файлы из определенной папки, используяZipFile.CreateFromDirectory в следующем тестовом коде (я использовал этот код только для проверки работы архива):

// Where the files are located
string strStartPath = txtTargetFolder.Text;

// Where the zip file will be placed
string strZipPath = @"C:\Users\smelmo\Desktop\testFinish\" + strFileNameRoot + "_" + txtDateRange1.Text.Replace(@"/", "_") + "_" + txtDateRange2.Text.Replace(@"/", "_") + ".zip";

ZipFile.CreateFromDirectory(strStartPath, strZipPath);

Однако это объединяет ВСЕ содержимое папки. Я пытаюсь сжать определенные элементы в папке, используяZipArchive в следующем коде:

// Where the files are located
string strStartPath = txtTargetFolder.Text;

// Where the zip file will be placed
string strZipPath = @"C:\Users\smelmo\Desktop\testFinish\" + strFileNameRoot + "_" + txtDateRange1.Text.Replace(@"/", "_") + "_" + txtDateRange2.Text.Replace(@"/", "_") + ".zip";

using (ZipArchive archive = ZipFile.OpenRead(strStartPath))
{
    foreach (ZipArchiveEntry entry in archive.Entries)
    {
        if (!(entry.FullName.EndsWith(".TIF", StringComparison.OrdinalIgnoreCase)))
        {
            entry.ExtractToFile(Path.Combine(strZipPath, entry.FullName));
         }
     }
 }

Это дает ошибку вZipFile.OpenRead(strStartPath), Почему я могу получить доступ к точной папке в первом блоке кода, но не во втором? Или есть более простой способ поиска по папке и архивирования только определенных элементов?

Ответы на вопрос(1)

Ваш ответ на вопрос