Je cherche un moyen de compresser un gros dossier dans de nombreux fichiers de 20 Mo. Je ne veux pas que le fichier zip soit divisé en plus petits. Au lieu de cela, je veux regrouper certains sous-fichiers / dossiers en groupes de 20 Mo lorsqu'ils sont zippés.
Si vous savez comment le faire, aidez-moi!
Mise à jour
Je dois utiliser les petits fichiers zippés seuls qui peuvent être décompressés seuls.
Mon intention est d'utiliser virustotal.com pour numériser un gros dossier.
Réponses:
Dans winzip: Ajoutez les fichiers au zip soit en démarrant winzip et en ajoutant ou faites glisser et déposez dans winzip ou faites un clic droit sur les fichiers et winzip 'ajouter au zip ...'
Puis dans winzip:
Actions - Séparer au bas de la 'taille de la pièce' choisir 'autre taille' puis mettre 20 et sélectionner mb
Terminé!
la source
Ce que vous proposez est essentiellement une variation du problème du sac à dos , avec la torsion supplémentaire qui, en raison de la compression de fichiers, vous ne commencez pas à savoir combien de votre "sac à dos" de 20 Mo chaque élément occupera.
La solution triviale, bien sûr, serait de simplement compresser chaque fichier indépendamment, mais cela ne réduit pas le nombre de fichiers, donc je soupçonne que ce ne serait pas une solution satisfaisante.
Si on me présentait ce problème, je suppose que je commencerais par compresser chaque fichier individuellement dans un emplacement temporaire (ou en mémoire, sans les écrire sur le disque), juste pour que je puisse obtenir une taille compressée approximative pour chacun. Avec ces informations, il serait alors possible de décider quels fichiers devraient être regroupés par l'une des approches standard du problème du sac à dos et de créer les fichiers zip réels.
En supposant que vous disposez d'un langage de script et que vous savez comment l'utiliser, je m'attendrais à ce que cette approche soit assez simple à automatiser; le faire manuellement serait assez fastidieux si vous avez plus d'une poignée de fichiers à traiter ...
la source
Laisser zip faire le fractionnement pour vous sera beaucoup plus facile à automatiser que d'essayer de le découvrir par vous-même. Si votre objectif est de 20 Mo de fichiers zip, vous devrez estimer la taille compressée de chaque fichier avant de l'ajouter à l'archive. Y a-t-il une raison pour laquelle vous ne voulez pas simplement laisser zip faire le fractionnement pour vous? Voici comment vous le feriez avec gnu zip:
Cela créera des fichiers zippés de 20 Mo avec des numéros d'index incrémentiels dans le nom de fichier.
la source
Sous Linux, il existe un programme nommé zipsplit qui fait exactement cela. Cela fait partie du package zip standard.
Il peut être exécuté comme ceci:
pour diviser bigfile.zip en parties de max 20 Mo. Et notez que les fichiers contenus individuels ne seront pas divisés. Ainsi, chaque partie peut être décompressée individuellement. Ce qui signifie également que s'il existe un seul fichier qui ne peut pas tenir dans la taille maximale de la pièce, le fractionnement ne sera pas possible.
Mise à jour: Il semble qu'il existe également des binaires pour Windows sur info-zip.org, en particulier dans ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn-x64.zip pour Win 64.
la source
Pas une perspective facile, je le crains.
J'ai récemment écrit un script pour rassembler des fichiers dans des sous-répertoires ne dépassant pas 4,3 Go pour un stockage facile sur DVD, mais tout cela n'était pas compressé.
Le faire avec la compression - c'est maintenant le défi. Vous ne pouvez pas prédire la taille des fichiers après la compression - tout ce que vous pouvez faire est de continuer à ajouter des fichiers au zip dans l'ordre décroissant de taille jusqu'à ce qu'il dépasse 20 Mo, puis de supprimer le dernier fichier en le remplaçant par un plus petit jusqu'à ce qu'il tombe en dessous de 20 Mo . Si vous épuisez tous les fichiers et qu'il est toujours> 20 Mo, déposez simplement le dernier fichier et passez au zip suivant.
Un peu compliqué de script et un processus assez lent et douloureux.
la source
Je sais que c'est un vieux fil, mais je viens de le faire avec 7-zip .
Vous devez utiliser l'option "Diviser en volume":
la source
Dave semblait fournir la solution programmable la plus proche de ce qu'OP demandait. J'ai compris que cela pouvait aussi être fait manuellement , si les hypothèses suivantes étaient prises (ce n'est pas un pur problème technique - c'est plus un problème d' organisation que de technique):
En utilisant cette méthode avec 7-zip (interface et terminal Windows), j'ai conservé la compression dans les fichiers zip nouvellement générés.
Commencez par compresser tous les fichiers dans un seul fichier zip dans un dossier vide (avec la méthode de compression souhaitée), par exemple
ALL.zip
, et ouvrez-le:Test
bouton pour confirmer leur taille collective (ceci tient compte de leur compression):Extract
ouCopy
bouton tout en ajoutant à la fin du chemin d'extraction du nom d'un nouveau dossier (par exemple:plu_8MB
)ALL.zip
zip, supprimez les fichiers que vous venez d'extraire (en évitant les réextrusions erronées) et accédez au dossier ou sous-ensemble de fichiers suivant;ALL.zip
dans des dossiers indépendants, supprimez ce zip et ouvrez le terminal dans ce dossier ;Type:
Appuyez sur ENTERet cela générera un fichier zip pour chaque dossier que vous venez d'extraire.
la source