Page 1 sur 2

[R] Dir_transfer

Posté : mer. 05 oct. 2011 14:03
par TT22
Bonjour à tous :mrgreen: ,
En ce moment, je suis entrain de développer un script qui permet de compiler un dossier et tout ce qu'il contient pour le faire entrer dans un seul fichier (ce que fait 7zip).
Tout fonctionne parfaitement sauf que les fichiers contenant des images, des musiques, des vidéos, des exécutables, etc... ne fonctionnent plus une fois qu'ils ont été décompilés :? alors que les fichiers contenant du texte fonctionnent.
Je pense qu'il y a un problème avec touts les caractères bizzards que ce genre de fichier contient mais je ne sais pas comment le résoudre.

Voici le script :
► Afficher le textevoir le script
Donc si quelqu'un à une idée, merci d'avace :wink:

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 14:31
par moi
tu lis les caracteres bizarre des fichiers que tu conserve et quand on décompile tu creer un fichier au nom et a l'extension du fichier et tu ecrit les caracteres dedans...

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 16:09
par TT22
Oui, c'est ce que fait mon script, mais ça ne fonctionne pas :?

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 16:14
par sksbir
bonjour

j'ai pas trop compris comment tu fais cette "compilation", mais je vois que les fonctions comme

FileReadLine
_ReplaceStringInFile

sont souvent présentes.. si c'est avec ça que tu "compiles" , c'est pas étonnant que tu ais des soucis car ces fonctions sont prévues pour ne traiter que des fichiers textes.

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 16:16
par TT22
Effectivement, ces fonctions servent, donc, par quoi peut-on les remplacer pour que ça fonctionne ?

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 16:48
par moi
de mon cote j'ai fait un code qui fait quasi la meme chose que toi mas en moins de ligne
le résultat est le meme : (j'ai tester ton script et le mien sur un meme dossier)
► Afficher le textemoins long
donc code fait des ptit trucs en plus que le mien mais le resultat est presque pareil

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 16:56
par TT22
Désolé, mais ton code ne fonctionne pas :P
Dans ton fichier file.drt, il y a :
► Afficher le textevoir ce qu'il y a
Je ne vois donc pas comment ça peut marcher :|
Et même si ça fonctionnait, le problème des images,musiques,... serait toujours le même :?

Re: [..] dir_transfer

Posté : mer. 05 oct. 2011 17:02
par moi
moi j'ai pour 4 img

Code : Tout sélectionner

[file]
f0_0.jpg=ÿØÿà
f0_1.jpg=ÿØÿà
f0_2.jpg=ÿØÿà
f0_7.jpg=ÿØÿà
Thumbs.db=ÐÏࡱá
 
j'ai dit qu'il ne fonctionner pas mais que pour un résultat similaire sa prenne moins de ligne

après je crois savoir pourquoi
TT22 a écrit :

Code : Tout sélectionner

[file]
Nouveau dossier=
je pense que on ne pet pas lire un dosser mais seulement un fichier si tu test avec un dossier sans sous dossier tu n'as pas ça

Re: [..] Dir_transfer

Posté : mer. 05 oct. 2011 19:09
par Tlem
Franchement, j'avoue ne pas comprendre l'intérêt de ce genre de manipulation !!!
C'est encore une fois la volonté de ré-inventer la roue !!!

Bien que le code soit léger, il n'apporte aucun avantage tel que la compression ou le fait de garder les propriétés d'un fichier.
Vous avez à votre disposition sur le forum un exemple utilisant une dll légère et qui permet de faire une archive Zip ou 7Zip (qui procurera bien plus d'avantages que votre bidouillage).
Le fait de joindre une ou plusieurs dll avec son exécutable, n'est pas un problème en soit et c'est même une pratique plutôt répandue en informatique ! :roll:

Re: [..] Dir_transfer

Posté : mer. 05 oct. 2011 20:44
par matwachich
Tlem a raison.
Mais pour votre problème, c'est parce que tout simplement vous écrivez en mode texte du contenu binaire. (Voir les flags de FileOpen)

Re: [..] Dir_transfer

Posté : mer. 05 oct. 2011 21:43
par TT22
Ok, merci :wink:
Je regarde ça et je poste la solution :mrgreen:

Edit : J'ai testé, mais, ça ne fonctionne pas (le fichier .drt n'est même pas créé :? ).
Donc, est-ce que quelqu'un peut m'aider ?

Re: [..] Dir_transfer

Posté : mer. 05 oct. 2011 22:04
par moi
matwachich a écrit :Tlem a raison.
Mais pour votre problème, c'est parce que tout simplement vous écrivez en mode texte du contenu binaire. (Voir les flags de FileOpen)
pour compiler --> BinaryToString

pour decompiler --> StringToBinary

:?::?::?:

Re: [..] Dir_transfer

Posté : mer. 05 oct. 2011 22:27
par TT22
Oui, merci je vais regarder si ça fonctionne.

PS : J'avais pas pensé à ça, je n'avais regardé que les flags de FileOpen.

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 17:38
par moi
► Afficher le texte
résultat = :(

donc j'ai fait ça
► Afficher le texte

resultat : different, ecrit plein de chiffre dans file.drt...

je pense que l'on y est presque ça il faut maintenant reconvertir les chiffre pendant la decompil

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 18:20
par TT22
J'ai essayé avec StringToBinary et BinaryToString, mais ça ne fonctionne pas :(

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 18:31
par mikell
Pourquoi tu n'utilises pas ces fonctions postées par Tlem http://www.autoitscript.fr/forum/viewto ... 490&p=8443
Testé pour des images, mais en principe ça convertit n'importe quoi en binaire et on peut intégrer le résultat dans un script autoit
Y a même avec la fonction de conversion dans l'autre sens Image

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 18:56
par Tlem
Ben, je pense qu'il y en a qui aime bien refaire ce qui existe déjà !!!
Ça doit surement occuper. :mrgreen:

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 19:12
par TT22
Tlem a écrit :Ça doit surement occuper. :mrgreen:
Effectivement, il y a un peut de ça :wink:
Mais c'est aussi parce que certains services mail interdisent les zip qui contiennent des .exe, donc là le problème sera réglé (si ça fonctionne)

Donc, je vais regarder les fonctions de Tlem

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 19:16
par Tlem
Un zip peut être, mais pas un 7zip ...
Et puis, rien ne vous empêche de renommer le .Zip et .Toto. :P

Re: [..] Dir_transfer

Posté : jeu. 06 oct. 2011 19:44
par moi
encor un essai raté
► Afficher le texte