Как разделить zip-файл через НЕЗАВИСИМЫЕ объемы

У меня есть приблизительно 12 ГБ мозаик изображения, составленных приблизительно из 2 миллионов файлов. Я хотел бы архивировать их для создания передачи их к серверу более простой. Я просто планирую то, чтобы хранить файлы в zip-файлах для передачи, никакого сжатия. Руль присутствует на веб-сервере и может обработать файлы разархивации.

Я хотел бы указать на программу на все эти файлы сразу и заставить ее архивировать их в файлы приблизительно 1 ГБ каждый, но каждый zip-файл должен быть независим от других.

Я имею с 7 zip установленный с разделением поддержек через объемы, но эти объемы зависят друг от друга, чтобы быть разархивированными.

У кого-либо есть какие-либо предложения?Заранее спасибо!

6
задан 20.08.2013, 17:16

4 ответа

Бесплатное программное обеспечение в Windows под названием "Spinzip" должно сделать работу для Вашей цели! ;) http://skwire.dcmembers.com/wb/pages/software/spinzip.php

Это основано на IZARCC (автоматически включенный в Spinzip). Необходимо проверить, но полный первоначальный тракт может быть сохранен в заархивированных файлах!

Увидимся

3
ответ дан 07.12.2019, 15:53

Я не знаю о программе, которая может сделать это, с тех пор если Вы сделаете одну zip в мультиобъемах, то они будут все связаны. Ваш лучший выбор может состоять в том, чтобы сделать 12 папок и поместить ГБ в каждого, затем архивировать папки индивидуально.

3
ответ дан 07.12.2019, 15:53

В конце я создал быстрый сценарий Python для разделения файлов в к подкаталогам для меня прежде, чем архивировать каждого индивидуально.

В случае, если это полезно для кого-либо еще, вот мой сценарий:

import os
import csv
import shutil

def SplitFilesIntoGroups(dirsrc, dirdest, bytesperdir):
    dirno = 1
    isdircreated = False
    bytesprocessed = 0

    for file in os.listdir(dirsrc):
        filebytes = os.path.getsize(dirsrc+'\\'+file)

        #start new dir?
        if bytesprocessed+filebytes > bytesperdir:
            dirno += 1
            bytesprocessed = 0
            isdircreated = False

        #create dir?
        if isdircreated == False:
            os.makedirs(dirdest+'\\'+str(dirno))
            isdircreated = True

        #copy file
        shutil.copy2(dirsrc+'\\'+file, dirdest+'\\'+str(dirno)+'\\'+file)
        bytesprocessed += filebytes

def Main():
    dirsrc='C:\\Files'
    dirdest='C:\\Grouped Files'

    #1,024,000,000 = approx 1gb
    #512,000,000 = approx 500mb
    SplitFilesIntoGroups(dirsrc, dirdest, 512000000) 

if __name__ == "__main__":
    Main()
2
ответ дан 07.12.2019, 15:53

Хорошо вот выход из него, но не весь настолько хорош. Можно попробовать, если Вам действительно нужно.

Предположения: необходимо разделиться на 12 ГБ данных в 3 DVD на 4 ГБ.

Решение

  1. Возьмите 3 пустых перьевых диска размера 4 ГБ.
  2. Вставьте перьевой диск № 1.
  3. Теперь начните копировать свою всю папку для сочинения диска № 1 с помощью инструмента как TeraCopy, какие паузы на некоторой ошибке и не завершает.
  4. Когда перьевой диск № 1 будет полон, он приостановится и к тому времени, когда можно измениться на перьевой диск № 2.
  5. Теперь резюме после перьевого диска № 2 загружается.
  6. Повторитесь от шага 4, когда перьевой диск № 2 будет полон. Просто увеличьте перьевой диск #.

Теперь Вам разделили Ваши данные. Запишите им в DVD или независимо от того, что Вы хотите записать на.

Если у Вас нет 3 перьевых дисков, можно записать первый DVD там сам и затем удалить все данные по перьевому диску перед возобновлением процесса копии.

1
ответ дан 07.12.2019, 15:53

Теги

Похожие вопросы