Tom's Guide > Forum > Programmation > [batch] Compiler plusieurs fichiers

[batch] Compiler plusieurs fichiers

Forum Programmation : [batch] Compiler plusieurs fichiers

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonsoir chers IDNautes,

J'ai pour projet de creer un petit programme batch capable, grace à la commande ftp, de prendre sur mon ftp des fichiers necessaires à l'installation d'un programme.

J'utilise la commande

Code :
  1. ftp -s:pass.txt monftp.org


J'aimerai donc compiler mon .bat et mon pass.txt dans le meme exe pour plus de securité.( ou pas :na: )

[Edit]:
Celà serait-il possible[ok] et par quels moyens?
Et une fois compilé, quel chemin dois-je utiliser dans le code batch pour appeler mon pass.txt ?[ok]

J'espere etre assez clair, merci d'avance =)


Message édité par Dushmol le 04-01-2007 à 00:23:48
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

oui mais non :)
tu ne peux passer que du texte en clair au client FTP, tu es donc bloqué.
Donc, à moins d'avoir un user anonymous limité à la lecture, tu ne pourras pas faire grand chose... à moins de ne faire un faux client ftp en vb (par exemple) qui effectuera directement la connexion et le rappatriement des fichiers.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Nan mais le programme fonctionne, mais ma question est, pour généraliser un peu plus, comment utiliser les fichiers qui sont compilés dans le meme executable que mon .bat ?
Dans Quick Batch Compiler (Programme que j'utilise pour la compilation de mon batch), ils parlent de la variable d'environnement %MYFILES% mais je ne comprend pas ou ils veulent en venir :(
Quelqu'un pourrait-il m'aider svp?

Répondre à Dushmol

ah ok :)
Bon, je ne connais pas Quick Batch Compiler, mais je présume que %MYFILES% est en fait le répertoire courant (ou répertoire d'exécution) de ton .bat.

Donc, les chemins dans ton .bat doivent être relatifs à %MYFILES%, e qui donne:
toto.exe dans le répertoire courant:
%MYFILES%\toto.exe

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Vi c'était ça merci bcp =) En fait ça y étais sur le site du logiciel mais alors c'est aussi bien indiqué que dans le *** d'une huitre ><.
Dis moi, tu ne connaitrai pas un moyen de faire la meme chose mais avec un autre logiciel ? Ou par une méthode quelconque ?
Merci d'avance =)


Message édité par Dushmol le 02-01-2007 à 23:58:29
Répondre à Dushmol

Que veux tu faire exactement?
Si c'est un simple programme pour récupérer des fichiers sur un ftp et les lancer, tu peux créer un .exe en vb, en utilisant l'objet shell.
Mais si je puis me permettre une suggestion: il n'y a aucun interet à utiliser le ftp si c'est uniquement de la lecture, l'accès http est tout aussi valable et t'évite pas mal de soucis (essentiellement les risques de "vol" des accès).

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

même si tu compiles ton bat ou quoi que ce soit d'ailleurs, le mot de passe restera en clair s'il est en clair au départ.
ce que tu peux faire, c'est protéger ton fichier, l'équivalent du chmod 600 sous unix (lecture, ecriture mais seulement pour toi)
ou alors une méthode de générer ton mot de passe à l'interieur d'un programme
bref de toute façon, le mot de passe passe en clair sur le réseau :)
apres si c'est juste une question d'avoir un seul fichier, écris le mot de passe dans le .bat

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

tiens? les mots de passe ftp transitent en clair?
Je pensais qu'ils étaient transmis dans le tunneling ftp, donc pas lisible par un analyseur de trame.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Ftp m'est utile non seulement car je ne connais que batch :lol:
De plus il y a aussi un upload (log de l'installation pour les erreurs).

Et pour ce qui est de la securité j'entendais que si c'est compilé en .exe on ne peut pas ouvrir le pass.txt directement et avoir les coordonnées de mon ftp (Pareil si je met mon mdp dans le .bat, il suffira alors de l'ouvrir avec notepad pour y avoir acces :( )

Si quelqu'un sait donc comment compiler plusieurs fichiers (dont un batch en l'occurence) dans un meme exe, sans quick BFC...

Merci d'avance


Message édité par Dushmol le 03-01-2007 à 20:37:23
Répondre à Dushmol

franchement, j'en reviens à mon idée: se faire un executable en vb.
les composants FTP existent déjà, et le langage est au moins aussi compréhensible que le le batch.

Au cas où, explique plus profondémment ton besoin sur le forum de mon site, on doit pouvoir te faire une aide personnalisée assez rapidement (coca, tu maitrises le VB que tu nous as dit? :D )

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

@crazycat: si si ca passe en clair et c'est pas le seul, pop, telnet etc...
pour ce qui est du vb, je m'y connais plus ou moins mais ca commence a faire un bout de temps que j'y ai pas touché :)

@dushmol: si tu veux obligatoirement le passer en exe, normalement une fois le fichier inclus, ta commande devrait etre:

Code :
  1. ftp -s:%MYFILES%\pass.txt monftp.org



sinon juste pour info, avec de simple utilitaire voila ce qu'on peut sortir d'un executable:

Code :
  1. $ more.com essai.c
  2. #include <stdio.h>
  3. int main ()
  4. {
  5.   char *pass="motdepasseenclair";
  6.   printf ("toto\n" );
  7.   return 0;
  8. }
  9. $ gcc essai.c -o essai
  10. $ strings.exe essai.exe
  11. %x@@
  12. C@@0@
  13. $  @
  14. motdepasseenclair
  15. toto
  16. __main
  17. _impure_ptr
  18. calloc
  19. cygwin_internal
  20. dll_crt0__FP11per_process
  21. free
  22. malloc
  23. printf
  24. realloc
  25. GetModuleHandleA
  26. cygwin1.dll
  27. KERNEL32.dll



le mot de passe n'est pas si caché que ça. ;)
le plus simple serait de configurer le ftp pour ne pas permettre l'acces n'importe où.
ou encore de ne permettre que l'ecriture et d'envoyer par exemple le log par mail ou autre


Message édité par coca25 le 03-01-2007 à 22:49:29
Répondre à coca25

Merci bien, mais je dois pas etre très clair lol...

On reprend:

-Je ne souhaite pas faire de VB ou autres ==> BATCH
-J'ai compris la variable d'environnement %MYFILES%/xxxx.xx
-Je souhaite simplement savoir comment inclure Plusieurs fichiers dans un Executable.

Merci d'avance


Message édité par Dushmol le 03-01-2007 à 22:52:42
Répondre à Dushmol

dans quick batch file compiler, tu as 3 onglets, tu ouvres ton source:
- tu cliques sur le 3eme onglet "include"
- tu cliques sur le +
- tu selectionnes le fichier pass.txt
- vérifies que tu as utilisé %MYFILES%\pass.txt (\ et non /)
- tu compiles le tout
- tu exécutes


Message édité par coca25 le 03-01-2007 à 23:08:21
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Ah wi lol, le seul truc que je n'avais pas REprécisé, je souhaite faire celà sans Quick BFC...

Merci d'avance

Répondre à Dushmol

ah la, je sais pas trop, je connaissais un programme qui permettait de rendre un batch en exe (bat2exe je crois msdos 5 ou 6) mais je pense pas qu'il permettait d'inclure des fichiers externe.

maintenant si le but c'est de fournir une install sous un seul fichier (on sait jamais :)), si tu peux te passer du ftp, tu peux utiliser le programme iexpress

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

un .bat n'est pas un .exe, et n'a absolument rien à voir... c'est pour ça qu'il te faut un programme pour convertir ton .bat en source c (en faisant par exemple un appel à system("tout le code batch" );
Ensuite, pour ce qui est du mot de passe en clair lancer un exe est aussi peu sûr qu'un .bat (disons qu'il faut penser à lire l'exe).

Bref, pour faire une telle conversion d'un .bat en .exe, il te faut un programme particulier ou programmer toi-même (auquel cas, je te suggère d'utiliser une lib permettant la connexion FTP).
Et puis, ne peux-tu pas te passer de ton fichier externe ?

Répondre à CRicky

Bon, merci pour tous vos conseils et suggestions, non je ne peux me passer d'aucun de mes fichiers, je voulais simplement savoir comment compiler plusieurs fichiers dont un batch dans un exe, sans QuickBFC...
En revanche si quelqu'un avait par hasard une réponse claire (qui ne necessite aucune études superieures (j'ai 15 ans) quant à sa compréhension) en rapport avec ma question je le remercierait d'avantage!

Merci bien :pt1cable:

Répondre à Dushmol

UP

Svp...

Je suis sur qu'il y a un moyen...


Message édité par Dushmol le 05-01-2007 à 02:25:54
Répondre à Dushmol

Sans utiliser un programme comme QuickBFC (ou programme du genre) ou sans programmer avec un autre langage, ce n'est pas possible.

Répondre à CRicky
Tom's Guide > Forum > Programmation > [batch] Compiler plusieurs fichiers
Aller à :

Il y a 371 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens