ОНОВЛЕННЯ: Я помітив, що багато людей переглядають цю тему, що змушує мене повірити, що ця ситуація не така вже й рідкісна. У всякому разі, я задавав подібне питання , пов'язаний / на SO тут , який має досить пристойні рішення , які теж могли б вирішити цю проблему в кращу сторону.
На моїй машині Windows 7 я маю довідник із завантаженими сміттєзвалищами в ZIP-архівах. Кожен архів містить декілька текстових файлів, PDF-файлів та рідко XML-файлів. Я хочу витягнути весь вміст кожного архіву ZIP у відповідну папку (повинна бути створена під час процесу), відкидаючи / ігноруючи вилучення PDF-файлів. Після вилучення необхідних файлів з архіву оброблений zip не повинен видалятися (або я хотів би знати, як я можу ним керувати в різних ситуаціях).
Якщо це допомагає дізнатися, кількість архівів у каталозі знаходиться в межах 60k-70k. Також мені потрібні окремі вихідні каталоги, оскільки файли в архіві можуть мати ті ж імена, що й файли в інших.
Наприклад,
- У мене є всі мої архіви , як
one.zip
,two.zip
, .., скажімо,D:\data
- Я створюю нову папку для оброблених даних, скажімо,
D:\extracted
- Тепер дані з цього документа
D:\data\one.zip
повинні перейтиD:\extracted\one
. ТутD:\extracted\one
слід створювати автоматично. - Під час цього повного процесу нестискування всі зустрічаються PDF-файли не повинні бути вилучені (ігноруватися). Немає сенсу витягувати та видаляти.
- (Необов'язково) Файл журналу А повинна підтримуватися на рівні, скажімо,
D:\extracted
. Ідея полягає у використанні цього файлу для відновлення обробки з того місця, де він був залишений у разі помилки. - (Необов’язково) Сценарій повинен дозволити мені вирішити, чи хочу я зберігати вихідні архіви чи видаляти їх після обробки.
Я вже кілька разів шукав рішення, але не зміг його знайти. Я натрапив на кілька подібних питань
- Рекурсивно розпакуйте файли, де вони перебувають, а потім видаліть архіви
- Екстракт 7 блискавок рекурсивно
- Чи можна рекурсивно перераховувати вміст zip-файлів із 7-ма ZIPми без вилучення
але вони не дуже допомогли (до речі, я не професіонал із Windows). Я відкритий для встановлення безпечного та безкоштовного стороннього програмного забезпечення (з відкритим кодом) на зразок 7-zip.
EDIT: Чи є в наявності інструмент для виконання того, що мені потрібно, я вже спробував Multi Unpacker . Він не створює нових каталогів, не може ігнорувати * .pdf файли. Починати це навіть повільно, я думаю, що він спочатку читає всі архіви в джерелі, перш ніж починати їх обробляти.
Спасибі заздалегідь!