В 7-Zip много файлов из разных папок?

Я хотел бы добавить большое количество файлов с разными именами из разных папок в один 7-Zip архив, используя 7za.exe. Это должно быть просто, но оказалось большой болью.

Я создал файл, содержащий пути (7za a out.7z @list.txt), но если файлов слишком много (~100), происходит сбой. По-видимому, содержимое файла аргументов помещается в буфер командной строки [Edit: это, вероятно, дезинформация с моей стороны, в любом случае была не причина], что слишком мало (количество добавляемых файлов превышает миллион).

разделение процесса путем добавления файлов по одному не представляется возможным из-за способа 7za работает: при добавлении следующего файла, он создает копию архива, добавляет файл в копию и, наконец, заменяет оригинал. Это ужасно медленно, как только архив получает пару 100 МБ в размере.

до сих пор я использую сочетание двух подходов добавив десяток файлов каждый раз в цикле, но это ненадежный Хак и все еще очень медленно. Есть ли лучший способ сделать это?

Я пытался использовать 7-Zip обертки DLL (я программист C#), но ни один из них не работал надежно, и мне неоднократно предлагали просто использовать 7za вместо.

11
задан mafu
26.11.2022 22:03 Количество просмотров материала 3515
Распечатать страницу

1 ответ

из-за глупого подхода к проблеме мне потребовалось много времени, чтобы понять настоящую причину. Это происходит из-за ошибка в 7zip в месте, о котором я не думал.

существует неправильное уведомление об ошибке при использовании listfile в версии cli 4.57. Если listfile содержит некоторые строки абсолютных путей (кажется, что относительные пути работают), которые указывают на те же именованные файлы в различные каталоги ошибка "двойное имя файла" приходит вверх.

Я смог воспроизвести проблему, используя любые два файла с одинаковым именем в разных каталогах с их абсолютным путем в listfile.

в исходном вопросе при добавлении только 1 или нескольких файлов одновременно он работал (сам архивный файл был создан без проблем), так как файл списка (случайно) не содержал таких "дубликатов имен файлов".

официально это называется особенностью. Хотя я не уверен в этом, это было без сомнения, смущает меня и других из-за того, что он недокументирован.

4
отвечен mafu 2022-11-28 05:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх