[R] Compiler automatiquement un .au3
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
[R] Compiler automatiquement un .au3
Bonjour,
j'aimerais compiler automatiquement un fichier autoit mais je ne connais aucune fonction qui puisse le faire.
Existe-t-il une fonction d'AutoIt ou un UDF ou n'importe quel autre moyen dérivé pour le faire ?
Merci de votre aide !
j'aimerais compiler automatiquement un fichier autoit mais je ne connais aucune fonction qui puisse le faire.
Existe-t-il une fonction d'AutoIt ou un UDF ou n'importe quel autre moyen dérivé pour le faire ?
Merci de votre aide !
Modifié en dernier par tolf le mer. 20 févr. 2008 12:22, modifié 1 fois.
Re: [...] Compiler automatiquement un .au3
En fesant un clic droit sur le fichier et compile script...
Je vois pas autre chose.
Je vois pas autre chose.
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Petite précision sur mon script :
J'ai un script AutoIt A1.
Je veux le copier en plusieurs exemplaires et changer à chaque fois la valeur d'une variable V.
J'obtiens ainsi des scripts A2, A3, ... légèrement différents.
Je veux les utiliser en même temps donc je suis obligé de les compiler (la touche F5 de SciTE ne peut marcher que pour 1 seul script à la fois).
Au lieu de faire tout cela à la main, j'ai créé un script B qui permet déjà de copier les fichiers et de modifier la variable, et j'aimerais qu'il puisse aussi compiler les scripts A2, A3, ...
voici un aperçu de mon script B :
J'ai un script AutoIt A1.
Je veux le copier en plusieurs exemplaires et changer à chaque fois la valeur d'une variable V.
J'obtiens ainsi des scripts A2, A3, ... légèrement différents.
Je veux les utiliser en même temps donc je suis obligé de les compiler (la touche F5 de SciTE ne peut marcher que pour 1 seul script à la fois).
Au lieu de faire tout cela à la main, j'ai créé un script B qui permet déjà de copier les fichiers et de modifier la variable, et j'aimerais qu'il puisse aussi compiler les scripts A2, A3, ...
voici un aperçu de mon script B :
Code : Tout sélectionner
#include <File.au3>
$ligne = 6
For $script = 2 To 5
FileCopy(@ScriptDir & "\fichierA1.au3", @ScriptDir & "\fichierA" & $script & ".au3", 1)
_FileWriteToLine(@ScriptDir & "\fichierA" & $script & ".au3", $ligne, "$variableV = " & $script, 1) ; change la valeur de la variable V
Next
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Bonjour,
Pourquoi ne pas utiliser simplement l'utilitaire AUT2EXE.exe (c'est d'ailleurs lui qui est utilisé par appel de la touche F7 de Scite) en ligne de commande ....
Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>] [/nopack] [/ansi] [/unicode]
et inclure cette commande dans ta boucle ?
A+
Pourquoi ne pas utiliser simplement l'utilitaire AUT2EXE.exe (c'est d'ailleurs lui qui est utilisé par appel de la touche F7 de Scite) en ligne de commande ....
Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>] [/nopack] [/ansi] [/unicode]
et inclure cette commande dans ta boucle ?
A+
A+
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Excusez-moi mais pourriez vous me donner plus de précision sur ce qu'est une ligne de commande et comment on l'utilise SVP ?moutelous a écrit :Pourquoi ne pas utiliser simplement l'utilitaire AUT2EXE.exe (c'est d'ailleurs lui qui est utilisé par appel de la touche F7 de Scite) en ligne de commande ....
Quand j'écris cette ligne dans autoit, il me répond qu'il y a une erreur de syntaxe, mais quelle est la bonne syntaxe ?moutelous a écrit :Code : Tout sélectionner
Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>] [/nopack] [/ansi] [/unicode]
Merci de votre aide !
-
- Niveau 6
- Messages : 291
- Enregistré le : jeu. 06 sept. 2007 11:35
- Localisation : Finistère sud
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Si tu utilise la ligne de commande comme sa, c'est logique que de ça ne fonctionne pas...tolf a écrit :Excusez-moi mais pourriez vous me donner plus de précision sur ce qu'est une ligne de commande et comment on l'utilise SVP ?moutelous a écrit :Pourquoi ne pas utiliser simplement l'utilitaire AUT2EXE.exe (c'est d'ailleurs lui qui est utilisé par appel de la touche F7 de Scite) en ligne de commande ....
Quand j'écris cette ligne dans autoit, il me répond qu'il y a une erreur de syntaxe, mais quelle est la bonne syntaxe ?moutelous a écrit :[autoit]Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>] [/nopack] [/ansi] [/unicode][/autoit]
Merci de votre aide !
maintenant je vois pas comment expliqué le principe d'une ligne de commande :`|
bref :
Aut2exe.exe : le logiciel a lancé
/in <infile.au3> : le au3 a compilé
tout le reste n'ai qu'options
rapidement :
/out <outfile.exe> : fichier de sortie
/pass <passphrase> : mot de passe
/nodecompile : pas de décompilation
après tu peut lancé sa avec un run/runwait (je sais qu'il y'a une commande exprès mais je m'en souvient plus

Sinon pourquoi ne pas utiliser un ini par exemple pour changer les valeurs de ta variable ?
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
OK,
De nombreux logiciels ou utilitaires ont deux modes de fonctionnement, un graphique (c'est celui que nous utilisons habituellement) et l'autre en ligne de commande (une commande que l'on écrit dans un shell de commande du type DOS par exemple)
Ainsi, l'utilitaire AUT2EXE.exe (qui permet de compiler les scripts au3 en exécutable) peut également être appelé en ligne de commande et donc au travers d'un script.
La ligne de commande que j'avais communiqué auparavant n'était que la syntaxe de la commande, il faut en fait inclure la commande suivante dans votre code :
ATTENTION :
- à la place de "d:\Program Files\AutoIt3\aut2exe\aut2exe.exe" il faut indiquer le chemin de l'exécutable aut2exe.exe sur votre ordinateur
- à la place de "D:\Program Files\AutoIt3\Examples\test3.au3" il faut indiquer le chemin de votre fichier à compiler
- à la place de D:\Program Files\AutoIt3\Examples\test3.exe il faut indiquer le nom et le chemin où voulez que soit enregistré l'exécutable.
- les doubles guillemets dans la commande sont nécessaires.
J'espère avoir été clair ....
A+
De nombreux logiciels ou utilitaires ont deux modes de fonctionnement, un graphique (c'est celui que nous utilisons habituellement) et l'autre en ligne de commande (une commande que l'on écrit dans un shell de commande du type DOS par exemple)
Ainsi, l'utilitaire AUT2EXE.exe (qui permet de compiler les scripts au3 en exécutable) peut également être appelé en ligne de commande et donc au travers d'un script.
La ligne de commande que j'avais communiqué auparavant n'était que la syntaxe de la commande, il faut en fait inclure la commande suivante dans votre code :
Code : Tout sélectionner
RunWait("d:\Program Files\AutoIt3\aut2exe\aut2exe.exe /in ""D:\Program Files\AutoIt3\Examples\test3.au3"" /out ""D:\Program Files\AutoIt3\Examples\test3.exe"" /comp 2 /nopack /Unicode")
- à la place de "d:\Program Files\AutoIt3\aut2exe\aut2exe.exe" il faut indiquer le chemin de l'exécutable aut2exe.exe sur votre ordinateur
- à la place de "D:\Program Files\AutoIt3\Examples\test3.au3" il faut indiquer le chemin de votre fichier à compiler
- à la place de D:\Program Files\AutoIt3\Examples\test3.exe il faut indiquer le nom et le chemin où voulez que soit enregistré l'exécutable.
- les doubles guillemets dans la commande sont nécessaires.
J'espère avoir été clair ....
A+
A+
Re: [...] Compiler automatiquement un .au3
ce serait peut etre plus simple avec un
Code : Tout sélectionner
run(@comscript '/c start' & $Path_de_ton_exe & " <tes parametres>"
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Bonjour,
Excuses moi de mon ignorance arrkhan mais je ne connais pas la macro "@comscript" et je ne trouve aucune aide associée à celle-ci ...
Peux-tu m'en dire plus ?
Excuses moi de mon ignorance arrkhan mais je ne connais pas la macro "@comscript" et je ne trouve aucune aide associée à celle-ci ...
Peux-tu m'en dire plus ?
A+
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Bonsoir moutelous,
Pourrais tu aussi m'expliquer à quoi correspondent les options "nodecompile", "comp" et "nopack" histoire de savoir les utiliser le jour où ce sera nécessaire STP ?
Autre question : si mon nom de fichier est une variable, comment dois-je procéder ? Si je tape ceci, ça ne marche pas :
il y a apparemment une erreur de syntaxe au niveau des doubles-guillemets je les ai transformés en simple-guillemets, étant donné que la variable n'est pas un string (donc a priori, elle n'est pas entourée de guillemets).
Pourrais tu aussi m'expliquer à quoi correspondent les options "nodecompile", "comp" et "nopack" histoire de savoir les utiliser le jour où ce sera nécessaire STP ?
Autre question : si mon nom de fichier est une variable, comment dois-je procéder ? Si je tape ceci, ça ne marche pas :
Code : Tout sélectionner
RunWait("C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe /in "$nom_fichier & ".au3"" /out "$nom_fichier & ".exe"" /comp 2 /nopack /Unicode")
Re: [...] Compiler automatiquement un .au3
cette commande permet de lancer l'invite de commande windows que tu trouve aussi en faisant menu demarrer/executer, lance une commande suivi de ses parametres et execute la-dite commande, sachant que je devais etre fatigue hier, il manque la moitie des infos dans l'exemple que j'ai donne ^^, mais sinon vas voir l'aide d autoit et cherche à RUN
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Bonjour,
En effet Arrkhan, tu dois vraiment être fatigué car tu ne réponds pas à la question qui portais sur la macro "@comscript" que tu donnais en solution du problème de Tolf et tu me conseilles d'aller jeté un oeil sur la méthode RUN ....??? Comprends pas ta logique.
En effet Arrkhan, tu dois vraiment être fatigué car tu ne réponds pas à la question qui portais sur la macro "@comscript" que tu donnais en solution du problème de Tolf et tu me conseilles d'aller jeté un oeil sur la méthode RUN ....??? Comprends pas ta logique.
A+
Re: [...] Compiler automatiquement un .au3
Bonjour
Je pense qu'il faut lire "@ComSpec" à la place de "@comscript".
Je pense qu'il faut lire "@ComSpec" à la place de "@comscript".
Débutant, pas taper !
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
bonjour tolf,
Une commande qui devrait fonctionner :
A condition que ta variable inclus le chemin complet de ton fichier
Concernant les options :
- nodecompile : option de protection du fichier
- comp : méthode de compression de 1 à 4 (voir les options proposées dans le menu de aut2exe graphique)
- nopack : active l'option UPX Compress (voir les options proposées dans le menu de aut2exe graphique)
Une commande qui devrait fonctionner :
Code : Tout sélectionner
RunWait("C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe /in """$nom_fichier & ".au3"" /out """$nom_fichier & ".exe"" /comp 2 /nopack /Unicode")
Concernant les options :
- nodecompile : option de protection du fichier
- comp : méthode de compression de 1 à 4 (voir les options proposées dans le menu de aut2exe graphique)
- nopack : active l'option UPX Compress (voir les options proposées dans le menu de aut2exe graphique)
A+
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
J'ai essayé plusieurs syntaxes possibles incluant une variable comme nom de fichier et la bonne est la suivante :
Petite explication pour les triples-guillemets : le premier ferme l'argument concernant le chemin de l'application "Aut2Exe", le deuxième ouvre l'argument pour le chemin du script et le troisième ferme le string, puisque le chemin du fichier commence par une variable (d'où le "&", qui fait la liaison entre le string vide et la variable)
Code : Tout sélectionner
RunWait("C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $nom_fichier & ".au3"" /out """ & $nom_fichier & ".exe"" /comp 2 /nopack /Unicode")
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [...] Compiler automatiquement un .au3
Oui, mille excuses un copier/coller malheureux et voilà que l'éperluette disparait ....tolf a écrit :J'ai essayé plusieurs syntaxes possibles incluant une varible comme nom de fichier et la bonne est la suivante :
Petite explication pour les triples-guillemets : le premier ferme l'argument concernant le chemin de l'application "Aut2Exe", le deuxième ouvre l'argument pour le chemin du script et le troisième ferme le string, puisque le chemin du fichier commence par une variable (d'où le "&", qui fait la liaison entre le srting vide et la variable)Code : Tout sélectionner
RunWait("C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe /in """ & $nom_fichier & ".au3"" /out """ & $nom_fichier & ".exe"" /comp 2 /nopack /Unicode")
A+