Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 372 092

  • Nb. de membres 187
  • Nb. d'articles 1 271
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» FastLHA : demande de tests et d'avis

FastLHA : demande de tests et d'avis#1405

5Contributeur(s)
zzd10hYesCopsinisrusPetrolCrisot
3 Modérateur(s)
K-LElwoodcorto
zzd10h zzd10hicon_post
YesCop,
je suis en train d'implémenter les 2 options.

Pour les options de compression pas de pb.
Pour les exclusions tout marche (heureusement qu'il y avait un article sur Parse et MatchPattern) sur AmigaFuture de ce mois-ci)

sauf la commande de format à la racine d'un disque

Par exemple, comment fais-tu pour compresser à la racine de RAM: en excluant tous les fichiers Fast* ?

Merci
YesCop YesCopicon_post
Pour répondre à ta question, tu dois utiliser :

lha -3 -r a test.lha ram: ~(fast?)

La commande compactera récursivement (-r) tous les fichiers se trouvant dans ram: en excluant les fichiers fast? comme fast1, fast2, fast3 et pas fastlha par exemple.
-3 est le type de compression. Par défaut c'est le -2.
Le fichier compacté s'appelle test.lha et se trouve dans le répertoire courant.

Concernant le pourcentage, je reviens encore :)
J'ai deux "nodes" un répertoire et un .info.
FastLha considère le répertoire comme un fichier et donc le pourcentage reste à 100% tant qu'il n'a pas fini le répertoire et comme il ne reste qu'un point info après, le pourcentage passe à 0 directement.

Ai-je été assez clair ? :#
zzd10h zzd10hicon_post
Oui, tu as été assez clair, c'est exactement ce que je te disais.

Le % est mis à jour aprés fin du traitement de tout le répertoire, donc cela va rester à 100% pendant un certain temps... Et ensuite passe au suivant, avec les arrondi, si le .info est 1000 fois plus petit que le repertoire, oui il est possible que cela soit 0%, mais trés rapidement.
Je ne calcule les pourcentages que par rapport à ce qu'il y a ds la liste, je ne peux pas savoir où en est lha quand il est dans un repertoire.
Donc pour moi, c'est normal et surtout on parle bien de la même chose depuis le début ;)

Ah ok pour la commande, j'essayais avec celle que tu m'avais filé avec les lformat, c:list, etc...

Je verrais ça demain, merci
YesCop YesCopicon_post
ok pour les pourcentages, c'est dommage.

Pour la commande, prends la dernière, j'ai réalisé plusieurs tests avant de te la donner.
Elle permet d'écarter TOUS les fichiers non désirés et pas seulement ceux présents à la racine comme les versions avec c:list.
zzd10h zzd10hicon_post
YesCop,
Voila tous les cas que j'ai testé. Sans les filtres d'exclusions tout fonctionne.
Mais avec...

Je me mets dans RAM:T/
13.RAM Disk:> list T/ all lformat=%F%s
RAM Disk:T/notifications.log
RAM Disk:T/ico.png
RAM Disk:T/ggg.info
RAM Disk:T/ggg
RAM Disk:T/FastLHA_121106_212041.lha.info
RAM Disk:T/FastLHA_121106_212041.lha
RAM Disk:T/usb.log
RAM Disk:T/ggg/jjHA_121106_212230.lha.info
RAM Disk:T/ggg/jjHA_121106_212230.lha

cd RAM:
1) j'essaie de créér une archive de tous les fichiers dans RAM:T mais sans les fichiers Fas*
Cela ne marche pas car ça ne mets pas le nom du répertoire T devant les fichiers dans l'archive

lha -3 -raxeq a test.lha "T/" ~(FAS*)
si je met
lha -3 -raxeq a test.lha "T/" = pareil (avec les fichiers Fas*)

Listing of archive 'FastLHA_121106_213019.lha':

ggg.info
ggg/jjHA_121106_212230.lha
ggg/jjHA_121106_212230.lha.info
ico.png
notifications.log
usb.log

A la place de T/ggg.info T/jjHA_xxxx ... T/usb.log

2) La même chose sans filtres = OK
lha -3 -raxeq a test.lha "T"
T/ggg.info
T/ggg/jjHA_121106_212230.lha
T/ggg/jjHA_121106_212230.lha.info
T/ico.png
T/notifications.log
T/usb.log

3) Donc je me dis qu'il suffit de retirer le / final
lha -3 -raxeq a test4.lha "T" ~(FAS*)
mais alors cela me prends tous les fichiers dans RAM: sans filtres

4) Sinon pour un volume, ça marche
lha -3 -raxeq a FastLHA_121106_221944.lha "RAM Disk:" ~(FAS*)
OK, j'ai bien tout le contenu de RAM: sans aucun fichier Fas*

Si tu as des idées... merci
YesCop YesCopicon_post
Si j'ai des idées, mais j'en ai toujours !
Voilà la solution après quelques tests.
Elle marche que ce soit pour un volume ou un répertoire.

lha -3 -rae a test.lha ram:~(wet*)
Je récupère tous les fichiers dans ram: sauf les wet*

lha -3 -rae a test.lha ram:T/~(wet*) ram:Clipboards/wet*
je récupère tous les fichiers de ram:t sauf wet* ET tous les fichiers wet* dans le Clipboards.

Remarque que le caractère / est le caractère de séparation entre le chemin et le template.
Les chemins sont en entier.

Ici, cela fonctionne et j'espère que chez toi aussi.

Je précise que ma version de lha est 2.14.


zzd10h zzd10hicon_post
Merci mais cela ne semble pas fonctionner avec des noms de répertoires composés. :paf
Et je rajoutes des " " pour être sûr que la commande LHA marchera dans tous les cas.

Par exemple,
Ram Disk:
ou
Mes Documents.

même en mettant entre " ".

Je pense que je vais laisser tomber les exclusions...
Merci quand même
YesCop YesCopicon_post
Tu as raison. J'ai eu le même problème. Cela est dû à cause des espaces dans les noms de fichiers. Cela arrive souvent dans les "vieux" logiciels surtout venant du monde Unix ou PC.

J'ai fait plusieurs tests et je t'ai trouvé une solution.
Tout d'abord, je créé une liste des fichiers ou plutôt un script.

c:list all files lformat="lha -qaxe a test.lha *"%S%S*" " pat ~(wet*) ram:#?clip#? > test.list

l'* dans le lformat est obligatoire pour ne pas interpréter " et donc afficher une " dans le script.

Ensuite, il suffit de lancer execute test.list.
Voilà.
L'avantage de cette méthode est que lha va compacter les fichiers un par un et donc changer visuellement mon pourcentage !!!
Je n'ai pas l'occasion de tester si cette méthode était plus longue que de compacter le répertoire mais je ne pense pas. Il n'y a pas de raison car l'algorithme de lha est appliqué fichier par fichier (non?).

Voilà, je me suis bien amusé à trouver cette méthode. Je te remercie de m'avoir donné de l'occasion un peu mon cerveau ! :-D :b
zzd10h zzd10hicon_post
Eh ben ! ça c'est de la commande :)

Je vais essayer ça ce soir, merci.
Par contre les pourcentages ne seront pas plus fin,
Mon prog marche comme ça :
1) constitution de la liste avec calcul de la taille de l'élément
2) création d'une commande lha par élements de la liste
3) écriture de cette commande dans un script
4) ajout aprés chaque commande d'un appel à un prog 'signaleur'
5) lancement de ce script
6) quand un lha a fini une command, signal à FastLHA pour incrémenter la liste et calculer la nouvelle taille restante, le %, etc...

Donc je ne descendrais jamais en dessous de l'élément de la liste.

ça va en faire des changements pour mettre ton script...

Enfin, je verrais ce soir.
Merci YesCop
zzd10h zzd10hicon_post
Bon, j'abandonne l'idée d'exclusion,
Cela me ferait réécrire presque tout la logique d'envoi de commande, de signal et de calcul des tailles.
Et vu qu'il marche comme ça...

Désolé YesCop :-?
Mais merci pour l'idée d'option d'optimisation.
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme