Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

outil de compression scriptable

2 réponses
Avatar
Lotre
Bonjour,

Je cherche actuellement un outil de compression
gratuit et facilement scriptable.

J'ai déjà repéré IZArc et Peazip mais dans les deux cas,
le fichier *.zip ( ou autre ...) est créé sur place
et l'on est obligé de le renommer puis de le déplacer
pour l'archiver finalement là où l'on veut...
Je trouve que cela fait un peu bricolo ;o)
De plus dans le cas de très grosses archives, cela
impose de disposer localement de beaucoup de place...

Peazip dispose quand même de quelques atouts
(la version portable existe )

Existe-t-il ( connaissez-vous) un outil du même type
qui permette en plus de choisir le nom et le lieu
de l'archive créée ?


Merci d'avance pour les contributions,

HB

Remarque :
Le script ci-dessous qui utilise ce "qui est intégré à windows"
semble poser des pb avec certains noms...
( j'ai eu des erreurs provoquées par des caractères "spéciaux" )

====================================================
DEST="<Chemin complet de l'archive à créer>"
SRC ="<Chemin complet du répertoire à compresser>"

Set oSh=CreateObject ("WScript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set oWShell = CreateObject("Shell.Application")

Set FichZip = FSO.CreateTextFile(DEST, True)
FichZip.Write "PK" & Chr(5) & Chr(6) & String(18,VBNullChar)
FichZip.Close
Set FichZip = Nothing
' ===================================================
Set VirtFichZip = oWShell.NameSpace(DEST)
Set VirtSource = oWShell.NameSpace(SRC)
N = VirtSource.Items.Count

If N > 0 Then
For I = 0 To N - 1
VirtFichZip.CopyHere VirtSource.Items.Item(I), &h0&
On Error Resume Next
Do Until VirtFichZip.Items.Count = I + 1
WScript.Sleep(1000)
Loop
On Error Goto 0
Next
End If

Set VirtFichZip = Nothing
Set VirtSource = Nothing
Set OWShell = Nothing
====================================================

2 réponses

Avatar
Lotre
bonjour,

Je me répond ... pour clore ce fil :

7z.exe permet de scripter avec de multiples options ( presque trop)
En plus, il suffit de poser 7z.exe et sa dll qqpart
et ça marche sans installation ...
... idéal, donc...

Par exemple pour faire un zip "universel"
mais plus petit ( parfois nettement, parfois un peu)
que celui fait par windows :

Set CHPRG="F:7z7z.exe"
:: attention : ligne longue
Set ARGS=a -tzip -mmÞflate -mx7 -md2k -mfbd -mpass=3 -mem®S256
Set SRC="F:DocumentsprogramsScripting"
Set ARCH="G:TESTFR.zip"
%CHPRG% %ARGS% %ARCH% %SRC%

pour faire un 7z
( archive souvent bien plus petite que le zip : jusqu'à 50% !!!)

Set CHPRG="F:7z7z.exe"
:: attention : ligne longue
Set ARGS=a -t7z -m0=LZMA -mmt=on -mx7 -md2m -mfbd -ms=4g
Set SRC="F:DocumentsprogramsScripting"
Set ARCH="F:TEMPFR2.7z"
%CHPRG% %ARGS% %ARCH% %SRC%

je n'utilise pas la compression maximale ( -mx9)
car la durée a tendance à exploser ...


HB
Avatar
mdnews
On Sun, 13 Dec 2009 12:29:54 +0100, "Lotre"
wrote:

bonjour,

Je me répond ... pour clore ce fil :

7z.exe permet de scripter avec de multiples options ( presque trop)
En plus, il suffit de poser 7z.exe et sa dll qqpart
et ça marche sans installation ...
... idéal, donc...



Excellent choix.
Si tu regarde bien, tu trouveras 3 programmes dans l'installation de
7zip
- 7zFM.exe (file manager) la version graphique, c'est celui qui
s'affiche dans le menu Windows
- 7z.exe la version "dos" (console)
- 7zG.exe (graphic) le même que 7z, mais qui remplace l'affichage
console (...) par une barre de progression graphique. C'est celui
qu'on utilise dans les scripts devant faire patienter l'utilisateur.

7zG utilise la même syntaxe que 7z, mais n'affiche aucune aide. On
peut l'obtenir en tapant 7z -h dans une console, ou en regardant
l'aide de ZzFM.

Par exemple pour faire un zip "universel"
mais plus petit ( parfois nettement, parfois un peu)
que celui fait par windows :

Set CHPRG="F:7z7z.exe"
:: attention : ligne longue
Set ARGS=a -tzip -mmÞflate -mx7 -md2k -mfbd -mpass=3 -mem®S256
Set SRC="F:DocumentsprogramsScripting"
Set ARCH="G:TESTFR.zip"
%CHPRG% %ARGS% %ARCH% %SRC%

pour faire un 7z
( archive souvent bien plus petite que le zip : jusqu'à 50% !!!)

Set CHPRG="F:7z7z.exe"
:: attention : ligne longue
Set ARGS=a -t7z -m0=LZMA -mmt=on -mx7 -md2m -mfbd -ms=4g
Set SRC="F:DocumentsprogramsScripting"
Set ARCH="F:TEMPFR2.7z"
%CHPRG% %ARGS% %ARCH% %SRC%

je n'utilise pas la compression maximale ( -mx9)
car la durée a tendance à exploser ...


HB