Pour aller plus loin : les scripts
Le logiciel que nous vous avons présenté avant n'est ni plus ni moins qu'une interface capable d'interpréter vos commandes en les transformant dans un langage compris par l'ordinateur. Ce langage peut être par exemple le Basic ou le Visual Basic. Le programme que nous allons vous présenter maintenant s'appuie sur un langage proche du Basic, mais contrairement à Super Macro, les libertés sont plus grandes et l'utilisateur peut à son aise disposer des commandes de boucles ou de conditions. Le logiciel propose son propre langage afin d'alléger la syntaxe, mais celui-ci est nettement plus complexe et proche d'une programmation que ce que proposait Super Macro. Ce programme est
AutoIt et nous allons voir qu'il possède quelques fonctions très intéressantes.
La devise du concepteur d'AutoIt pourraît être « si ce n'est pas faisable en un clic, c'est trop compliqué ». C'est un peu exagéré, mais c'est la philosophie du logiciel qui se compose :
- d'un éditeur fonctionnel, proche de ceux que l'on peut trouver sous Linux ;
- d'un module permettant d'obtenir simplement des variables du système comme la position de la souris, celle d'une fenêtre ou le titre d'une fenêtre ;
- d'une fonction capable de transformer vos scripts en exécutable, ce qui permet de lancer une série d'action sans forcément avoir installé AutoIt. Vous pouvez même attribuer à votre « application » une icône personnalisée.
Récupérer des informations du système ou créer un exécutable à partir de votre script : rien n'arrête AutoIt !
Contrairement à
Super Macro, on ne trouve pas sur l'interface d'AutoIt les actions de bases ni même celles plus évoluées. Tout, absolument tout, doit être saisi « à la main », ce qui demande donc d'avoir lu en détail le module d'aide du logiciel, par ailleurs particulièrement bien écrit mais... en anglais. Autre prérequis : une connaissance basique des commandes de l'interpréteur de lignes de commandes (ou
shell) de Windows. Elle vous sera très utile si vous ne tenez pas à utiliser exclusivement le langage du logiciel. Il vous suffit alors de demander à
AutoIt d'ouvrir l'application
cmd.exe et vous pourrez alors saisir de façon automatique du texte dans l'interpréteur.
La liste des commandes disponibles sous le Shell de Windows est loin d'être infinie...
Quel est l'intérêt d'AutoIt nous direz-vous alors ? Premièrement, le nombre de commandes disponibles via le
shell de Windows est assez limité. De plus, il existe des commandes très simples à utiliser avec AutoIt, qui pourraient vous prendre beaucoup de temps à coder autrement, comme la possibilité d'afficher une fenêtre d'avertissement d'une certaine taille contenant un texte écrit par vos soins :
SplashTextOn ("Avertissement", "File is being updated", "100", "100")
En guise de démonstration, voici un (tout) petit exemple de ce qu'il est possible de faire avec AutoIt :
BlockInput(1)
;Avec cette commande, vous bloquez les entrées des périphériques comme la souris ou le clavier.
Run("cmd")
;Lance l'interpréteur en ligne de Windows.
sleep(2000)
;Met le logiciel en attente pendant deux secondes (ou 2000 millisecondes).
send("ftp -s:ftp.txt 88.xxx.xxx.xx{ENTER}")
;Ecrit le texte « ftp -s:ftp.txt 88.xxx.xxx.xx » dans l'interpréteur, puis simule l'appui sur la touche Entrée. Cette commande se connecte à un serveur et utilise un fichier ftp.txt qui contient l'identifiant et le mot de passe et récupère un fichier intitulé Idees.doc
sleep(3000)
send("move Idees.doc C:\")
send("{ENTER}")
send("Oui")
send("{ENTER}")
Run("C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE C:\Idees.doc")
;Après avoir changé le document de répertoire (déplacé à la racine du disque dur), on lance Word.
SplashTextOn ("Avertissement", "File is being updated", "100", "100")
sleep(2000)
send("{PGDN}{PGDN}{PGDN}")
;On lance un message d'avertissement précisant la mise à jour du fichier, on attend deux secondes que le document s'ouvre et on se place en bas de la page en simulant 3 appuis sur la touche « Page suivante».
send("J'ajoute la ligne du jour")
sleep(3000)
send("^s")
;On ajoute une ligne, on attend 3 secondes, puis un simule un CTRL+S pour sauvegarder le document.
sleep(1000)
send("!{F4}")
;On attend encore 1 seconde et on ferme la fenêtre par un ALT+F4.
SplashOff()
;Le message d'avertissement précédent se ferme pour laisser un autre (précisant la réussite de l'opération) apparaître.
SplashTextOn ("Avertissement", "File succesfully updated", "100", "100")
sleep(2000)
SplashOff()
BlockInput(0)
;On fait une pause de deux secondes, on ferme le message d'avertissement et on libère les périphériques d'entrée.
sleep(2000)
send("set path=C:\Program Files\WinRAR\;%path%")
;Encore une pause et on prend soin de définir le chemin de l'application
Winrar
send("{ENTER}")
send("rar a -r C:\backup C:\Idees.doc")
;De retour dans l'interpréteur de commande (qui n'était pas fermé), on lance une compression du fichier Idees.doc
send("{ENTER}")
send("exit")
;On sort de l'interpréteur.
send("{ENTER}")
exit
;Finalement, on sort du script.
Vous l'aurez compris, le point-virgule sert à commenter les lignes sous AutoIt. Ce genre de chose n'est qu'un exemple vaguement représentatif des possibilités du logiciel. Lorsque vous êtes satisfait de votre script, n'oubliez pas de créer votre exécutable avec le module dédié, ce qui vous évitera de passer par AutoIt pour exécuter votre application. Enfin, vous pouvez utiliser le
planificateur de tâches de Windows pour faire fonctionner votre création aux heures et aux jours que vous aurez choisis.