Ex�cution d'un Script

Quand vous d�marrez AutoIt on vous demandera d'ouvrir un fichier de script. Un fichier de script est un simple fichier texte contenant des mots cl� et des fonctions AutoIt qui d�crivent � Autoit ce que vous voulez qu'il fasse. Les fichiers scripts sont cr��s dans un simple �diteur de texte tel que Notepad.exe ou une meilleure alternative dans une version sp�cialement modifi�e de l'�diteur Scite.

Bien que les scripts AutoIt v3 soient de simples fichiers texte, on leur donne habituellement l'extension .au3 pour aider � diff�rencier un fichier script d'un fichier texte. Si vous utilisez l'installation compl�te de AutoIt vous pouvez ex�cuter un script AutoIt simplement en double-cliquant dessus. Il existe aussi diff�rentes possibilit�s pour ouvrir, �diter ou compiler un script si vous cliquez-droit sur le fichier .au3.


Voici un exemple de script. Notez que ; est utilis� pour les commentaires du code :

#include <Constants.au3>

; Voici mon premier script
 MsgBox($MB_SYSTEMMODAL, "Mon premier Script!", "Bonjour � tous!")


Des scripts plus compliqu�s peuvent utiliser des fonctions, qui sont habituellement plac�es � la fin du script ou avant la section des d�clarations des variables globales.

Voici un script similaire utilisant une fonction :

#include <Constants.au3>

MsgBox($MB_SYSTEMMODAL, "Mon deuxi�me script!", "Bonjour de mon script principal!")
Example_Func()

Func Example_Func()
   
Return MsgBox($MB_SYSTEMMODAL, "Mon second Script!", "Bonjour de la fonction!")
EndFunc   ;==>Example_Func

Param�tres de Ligne de Commande

Passer des param�tres sur la ligne de commande de votre propre ex�cutable est facile avec AutoIt. Les param�tres de la ligne de commande peuvent �tre r�cup�r�s dans le code avec les variables $CmdLine and $CmdLineRaw. L'assignation de ces variables avec de nouvelles valeurs provoque une erreur, car elles ne peuvent pas �tre modifi�es pendant l'ex�cution du script. Notez que ces deux variables existent que les param�tres de la ligne de commande soient pass�s ou non.

Le tableau sp�cial $CmdLine est initialis� au d�marrage du script avec les param�tres pass�s sur la ligne de commande de votre script AutoIt. Si vous ex�cutez votre script au lieu de l'ex�cutable, alors ScriptName.au3 sera consid�r� comme n'ayant pas de param�tre.

Si vous passez des cha�nes avec des espaces, vous devez les encadrer avec des guillemets sur la ligne de commande.

$CmdLine[0] ; Contient le nombre total d'�l�ments du tableau.
$CmdLine[1] ; Le premier param�tre.
$CmdLine[2] ; Le deuxi�me param�tre.
...
$CmdLine[n] ; Le n-i�me param�tre c.a.d. 10 si le tableau contient 10 �l�ments.


Aussi si vous voulez ex�cuter votre script directement en utilisant AutoIt3.exe :

AutoIt3.exe myScript.au3 param1 "Ceci est un param�tre cha�ne" 99

$CmdLine[0] ; Ici il y a 3 param�tres.
$CmdLine[1] ; Contient param1 et pas myScript.au3 qui est ignor� lors d'une ex�cution non compil�e.
$CmdLine[2] ; Le param�tre est ici une cha�ne.
$CmdLine[3] ; Contient 99.
$CmdLineRaw ; Contient myScript.au3 param1 "Ceci est un param�tre cha�ne" 99.


Si vous souhaitez utiliser l'ex�cutable compil� en passant les param�tres sur la ligne de commande:

myProg.exe param1 "Ceci est un param�tre cha�ne" 99

$CmdLine[0] ; 3 param�tres.
$CmdLine[1] ; param1.
$CmdLine[2] ; param�tre cha�ne.
$CmdLine[3] ; 99


Note: Un maximum de 63 param�tres peuvent �tre stock�s dans le tableau $CmdLine[]. Si vous voulez voir la cha�ne ligne de commande en entier pass�e � un ex�cutable AutoIt, alors utilisez $CmdLineRaw pour voir la cha�ne enti�re de param�tre.

#include <WinAPIShPath.au3>
#include <Array.au3>

; Une alternative � la limitation de $CmdLine[] qui ne peut retourner plus de 63 parameters.
Local $aCmdLine = _WinAPI_CommandLineToArgv($CmdLineRaw)
_ArrayDisplay($aCmdLine)

Commutateurs sp�cifiques � AutoIt pour la ligne de commande

L'interpr�teur AutoIt3.exe, ou le coeur de l'interpr�teur de n'importe quel script Autoit compil�, peut normalement �tre utilis�e pour ex�cuter les scripts AutoIt directement � partir de la ligne de commande. Dans tous les cas le commutateur /ErrorStdOut permet la redirection d'une erreur fatale vers la sortie standard StdOut qui peut ensuite �tre captur� par une application telle que l'�diteur SciTE. Ce commutateur peut �tre utilis� � la fois avec un script interpr�t� et un compil�.

Ex�cuter un script avec l'interpr�teur

AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] filename [params ...]
                Ex�cute le script AutoIt3 'filename' avec des param�tres optionnels

Le plus simple: AutoIt3.exe myScript.au3 ex�cutera le script standard  'myScript.au3' avec aucun param�tre.

Ex�cuter un script compil�:

Compiled.exe [/ErrorStdOut] [params ...]
                Ex�cute un script compil� AutoIt3 produit avec Aut2Exe.

Ex�cute une seule ligne de code:

AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
                Ex�cute une ligne de code.

La commande suivante ex�cutera une seule ligne de code et affichera dans une MsgBox le texte "Hello World!". L'ic�ne de la barre des t�ches ne sera pas affich�e.

Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(4096, ''Hello World!'', ''Hi!'')"')

Ex�cute un script en utilisant un autre script compil�:

Compiled.exe [/ErrorStdOut] /AutoIt3ExecuteScript file [params ...]
                Ex�cute un autre script AutoIt � partir d'un ex�cutable compil� AutoIt3.

Compiled.exe [/ErrorStdOut] /AutoIt3ExecuteLigne "command line"
                Ex�cute une seule ligne de code as with AutoIt3.exe above. 

Ceci signifie qu'il y n'y a pas besoin d'embarquer une autre copie de AutoIt3.exe en plus du fichier compil� - le coeur de l'interpr�teur d'un fichier compil� le remplacera. Donc, tant que il y a au moins un script compil� disponible, d'autres scripts AutoIt peuvent �tre ex�cut� sans la n�cessit� d'avoir AutoIt3.exe sur la machine, soit pr�-install�, soit ajout�e via FileInstall. </ p>

Notes Importantes

Cependant, l'ex�cutable doit avoir �t� compil� avec la directive #pragma compile(AutoItExecuteAllowed, True) car le r�glage par d�faut ne permet pas l'utilisation des param�tres /AutoItExecuteScript ou /AutoItExecuteLine. En outre, �tant donn� que le coeur de l'interpr�teur recherche les fichiers standards requis #include</ em> dans le dossier courant, les fonctions UDF et diverses constantes peuvent ne pas �tre disponibles dans ces fichiers car ils ne sont normalement trouv�s que dans l'installation compl�te de AutoIt. Il est donc recommand� que tous les scripts destin�s � �tre ex�cut�s de cette mani�re soient compil�s avec le format .a3x plut�t que d'�tre laiss� en fichier de texte brut .au3</ p>   

Le bon usage des guillemets simples et doubles est important lorsque vous utilisez la ligne de commande - tout comme les guillemets simples (apostrophe)