7-Zip Compresser plusieurs fichiers séparément ?

7-Zip Compresser plusieurs fichiers séparément ? - Logiciels - Windows & Software

Marsh Posté le 23-10-2007 à 18:09:21    

Bonjour à tous.
 
J'ai 1500 photos à compresser séparément mais 7-Zip ne propose pas d'option pour le faire et je n'ai pas envi de le faire 1 par 1 c'est très long :)
J'aimerais savoir si j'ai loupé une option ou alors si il était possible de le faire en utilisant 7z.exe en ligne de commande pour le faire.
 
Merci d'avance.

Reply

Marsh Posté le 23-10-2007 à 18:09:21   

Reply

Marsh Posté le 23-10-2007 à 21:52:50    

Il faut utiliser 7zr.exe en ligne de commande ou 7z.exe dans le répertoire d'installation
 
2 solutions :
 
La 1ère créera de archives de type file.jpg.7z et la 2ème plus chiante file.7z
Pour les 2 techniques il faut créer un batch exemple comp.bat
 
1ère solution :
Créer un bat dans le répertoire des fichiers à compresser :
 
comp.bat :
for /R %%i in (*.jpg) do 7zr a -t7z -mx=9 -ms=on "%%i.7z" "%%i"
 
Ca créera donc des fichiers du type :
1.jpg > 1.jpg.7z
2.jpg > 2.jpg.7z
3.jpg > 3.jpg.7z
 
2ème solution :
Créer un bat dans le répertoire des fichiers à compresser :
 
comp.bat :
for /R %%i in (*.jpg) do echo 7zr a -t7z -mx=9 -ms=on "%%i.7z" "%%i">>comp2.bat
 
Ca créera un autre fichier appeller comp2.bat qui contiendra ce genre de ligne :
7zr a -t7z -mx=9 -ms=on "C:\1.jpg.7z" "C:\1.jpg"
7zr a -t7z -mx=9 -ms=on "C:\2.jpg.7z" "C:\2.jpg"
7zr a -t7z -mx=9 -ms=on "C:\3.jpg.7z" "C:\3.jpg"
 
Avec votre éditeur de texte favoris par exemple notepad ou notepad++ il faudra utiliser la fonction :
Remplacer tout -> jpg.7z en 7z
 
Ce qui donnera ça :
7zr a -t7z -mx=9 -ms=on "C:\1.7z" "C:\1.jpg"
7zr a -t7z -mx=9 -ms=on "C:\2.7z" "C:\2.jpg"
7zr a -t7z -mx=9 -ms=on "C:\3.7z" "C:\3.jpg"
 
Il reste plus qu'à executer comp2.bat et vous obtiendrez des fichiers du type :
1.jpg > 1.7z
2.jpg > 2.7z
3.jpg > 3.7z  
 
Si vous connaissez une autre méthode pour la méthode 2 je suis preneur.


Message édité par Tetsumaki le 23-10-2007 à 21:57:19
Reply

Marsh Posté le 17-12-2009 à 22:07:53    

PeaZip (http://peazip.sourceforge.net) permet de compresser séparément une série de dossiers ou de fichiers. Habituellement, il faut faire un batch. Avec PeaZip, un simple clic droit sur votre sélection de dossiers ou de fichiers > " Add to separate .ZIP ou .7Z " permet de les compresser dans des archives distinctes (un fichier zip par dossier par exemple). La fenêtre affichée pendant l'opération donne la ligne de commande utilisée :
 
"C:\Program Files\PeaZip\res\7z\7z.exe" a -tzip -mm=Deflate -mmt=on -mx5 D:\dir1.zip D:\dir1
 
"C:\Program Files\PeaZip\res\7z\7z.exe" a -t7z -m0=LZMA -mmt=on -mx5 D:\dir1.7z D:\dir1
 
Winrar permet aussi de faire ça : il faut cocher l'option "Placer chaque fichier dans des archives séparées" dans l'onglet "Fichiers". Mais Winrar n'est pas gratuit.

Reply

Marsh Posté le 15-01-2010 à 09:05:45    

BOnjour,
 
Je recherche la meme chose, sauf que cela ne fonctionne pas quand on as une arborescence avec plein de repertoire.

Reply

Marsh Posté le 03-07-2019 à 08:36:56    

Bonjour, je vais améliorer la version de Tetsumaki : compresser les fichiers avec un seul fichier bat du type image.png -> image.7z
 
Voilà le comp.bat :

Code :
  1. for /R %%i in (*) do (
  2. "C:\Program Files (x86)\7-Zip\7z.exe" a -t7z -mx=9 -ms=on "%%ii" "%%i"
  3. ren "%%ii" *.7z
  4. )

*Notez que "C:\Program Files (x86)\7-Zip\7z.exe" est l'endroit où se trouve l'application 7-zip.
 
Au lieu d'ajouter une extension (qui en ferait 2 du coup : ".jpg.7z" ), on allonge l'extension (dans ce cas-ci, ".jpg" devient ".jpgi" ).
L'extension du fichier est ensuite renommée en ".7z" grâce à la dernière ligne. Plus besoin d'un 2e fichier bat ou un renommage en masse avec Notepad ++ ! :D
 
Vous obtiendrez donc des fichiers du type :  
1.jpg > 1.7z  
2.jpg > 2.7z  
3.jpg > 3.7z  
 
Dans la version du fichier que j'ai mise, tous les fichiers dans le dossier où se trouve le fichier .bat seront compressés (y compris le fichier .bat lui-même).
 
Je sais que ça fait plus de 10 ans, mais voilà je voulais vous répondre ^^

Reply

Marsh Posté le 03-07-2019 à 10:46:08    

thebigbadboy a écrit :

Je sais que ça fait plus de 10 ans, mais voilà je voulais vous répondre ^^


Dans la mesure où ça peut être utile à tout le monde (et pas uniquement à celui qui a posé cette question et n’est plus revenu ici depuis 7 ans), je crois qu’on pourra pardonner ce déterrage.
 
Mais je croyais que « C:\Program Files (x86) » était déjà noté dans le PATH… Y a vraiment besoin de mettre le chemin complet de l’exécutable de 7-Zip ? Et il existe en 64 bits sous Windows, de toute façon.

Reply

Marsh Posté le 03-07-2019 à 14:04:38    

Oui il va y avoir problème à la 2ème exécution alors autant renommer à la fin le .bat


---------------

Reply

Marsh Posté le 07-07-2019 à 19:14:11    

Moi j'ai été obligé d'écrire tout le chemin d'accès au fichier exe puisque si je ne mettait que 7z, Windows m'affichait une erreur comme quoi il n'y avait pas d'application à ce nom…
Du coup j'ai contourné le problème :P

Reply

Marsh Posté le 08-07-2019 à 07:53:00    

Il y a une solution en utilisant Syncback Free, à tester.
Il permet de choisir de compresser les fichiers source quand ils sont copiés vers la destination. menu mode expert.
Il sait compresser les fichiers individuellement (par défaut).
On peut ajuster le niveau de compression.
La compression est en zip.
Je n'ai pas utilisé, j’utilise Syncback sans compression, à tester en mode miroir ou sauvegarde.


Message édité par yf38 le 08-07-2019 à 07:56:37
Reply

Marsh Posté le 08-07-2019 à 15:41:01    

Sinon, si la question est toujours de compresser en 7z mais dans des fichiers différents, tu peux faire comme moi et utiliser un gestionnaire de fichiers alternatif comme Double Commander, qui permet ce genre de chose (entre plein d’autres).

Reply

Marsh Posté le 08-07-2019 à 15:41:01   

Reply

Marsh Posté le 31-01-2020 à 22:55:52    

Je peux vous proposer un peu plus simple (et plus rapide) en une seule ligne de commande :  
 

Citation :

for /R %i in (*) do ("C:\Program Files\7-Zip\7z.exe" a -tzip ..\zipped\%~ni.zip %i)


 
le résultat dans le répertoire zipped (fichiers zip car option -tzip),
l'astuce est ..\zipped\%~ni.zip soit ..\zipped\ pour désigner le répertoire relatif et
%~ni.zip pour désigner le nom : %~ni ne conservant que le nom du fichier désigné  
par %i auquel on adjoint l’extension .zip

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed