Зип архив с определен размер

garnet

Well-Known Member
Здраво,

Имам една папка с подпапки. В тях има много файлове с различни размери всеки.
Искам да зипна всички файлове, всеки зип да е с определен размер. Не става дума за мултипарт архив, а всеки архив да си е за себе си под размер. Файловете не се мачкат т.е. компресия 0.
Някой с идея как да стане това под линукс или вин7?
Зип архива трябва да е криптиран, но това си му е в опциите.
Знам, че може да стане със скрипт, питам за нещо существуващо.
 
я с примери, че не разбрах какво се опитваш да направиш - искаш рекурсивно в директориите да откриеш всички с файлове с конректен размер и да ги архивираш без компресия но с криптиране?
 
Не. Да кажем,че в папката има 100 мб в няколко подпапки, разпределени неравномерно.
Искам 10 криптирани зип архива по 10 мб, но не мултипарт зип, а всеки да си е самостоятелен.
Ако подпапка1 емда кажем 6 мб, а подпапка2 е 3мб в архив1 да има файлове от двете + други до 10 мб.
 
прекалено много условности, или bash, или python, или perl.... но само с поредица от linux команди , уви не
 
При положение, че файловете са с неопределена големина не виждам как ще станат архивите точно по 10 мб. Каква е гаранцията, че няма да има файлове > от определеният размер ? Цялото начинание ми намирисва на решаването оптимизационна задача от рода на "линейно оптимиране", дял от математиката, който най-вероятно съм проспал на някоя банка. Целта на упражнението каква е? Определено не е да се получат точни файлове, кое го налага ?
Поздрави.
 
Да, имаш право. Примера е грешен. Да кажем, няма файлове >10мб. Архива да е до 10 мб.
 
Да, имаш право. Примера е грешен. Да кажем, няма файлове >10мб. Архива да е до 10 мб.
въртиш един цикъл - ако тоя файл + тоя файл > 10 мб пробваш със следващия. При съцес вадиш всички файлове от списъка който въртиш и така докато свършат.
Kое точно не ти е ясно, кода или логиката?
 
Здраво,

Имам една папка с подпапки. В тях има много файлове с различни размери всеки.
Искам да зипна всички файлове, всеки зип да е с определен размер. Не става дума за мултипарт архив, а всеки архив да си е за себе си под размер. Файловете не се мачкат т.е. компресия 0.
Някой с идея как да стане това под линукс или вин7?
Зип архива трябва да е криптиран, но това си му е в опциите.
Знам, че може да стане със скрипт, питам за нещо существуващо.

Ако съм разбрал правилно

Пример:
1. Имаш папка с под-папки и файлове
2. Искаш всички файлове разделени в 10MB зип архиви?

Ако:
1. Няма значение, кой файл с кой се комбинира

Пробвай:
1. Extract-ваш всички файлове(от под-папките) в една папка.
1.1. Най-лесно става като си в основната папка и в полето търсене напишеш *.* така ще ти върне резултат с всички файлове в папката и под-папките копираш всички в нова папка.

2. Разглеждаш тази програма https://bit.ly/2TasWFS
2.1. ‘By Size’ - Разделя съществуваща папка на много малки папки според зададен размер (в МБ, ГБ) като не забравяш, че размера, който ще дадеш не трябва да е по-малък от най-големия файл, който имаш.
2.2. Според примера, задаваш 10МБ и си ти :)

Остана да си ги архивираш.
Със 7zip има DOS команди за автоматично архивиране на папки, ама с това криптиране не знам как стоят нещата.
 

Горе