Bonjour à tous. J'utilise régulierement le logiciel
CCleaner. Ce logiciel est réputé pour nettoyer rapidement les petits traces d'usage et autre fichiers temporaires d'un pc sans prendre de risque.
Malheuresement, il ne comporte aucune fonction d'automatisation. J'ai donc voulu créer un petit script pour automatiser les nettoyages à partir du gestionnaire de tache de windows.
J'ai choisi autoit pour réaliser mon petit projet mais c'est la premiere fois que j'utilise ce soft et je découvre son utilisation.
Je suis donc arrivé a un script à peu prés fonctionnelle. Il demeure certains bug comme par exemple la non fermeture de
ccleaner à la fin de la tache certaines fois.
J'aimerais avoir votre avis et eventuellement que quelqu'un puisse apporter des corrections. Bref, voir si mon script tient la route :
Voiçi le code :
► Afficher le textele code
Code : Tout sélectionner
; Script nettoyage automatique CCleaner by bvivi57
; ----------------------------------------
;Il est nécessaire de lancer manuellement une fois CCleaner pour configurer les éléments à nettoyer puis supprimer dans la configuration général l'apparition des messages
;de confirmation
;utiliser le derniere version du logiciel
#include < INet.au3 >
; ===Déclaration des variables
$ccleaner= "C:\Program Files\CCleaner\CCleaner.exe"
; ===Fin déclaration de variables===
;=== DEBUT DU SCRIPT===
;On verifie si FireFox est ouvert
If ProcessExists("firefox.exe") Then
ProcessClose("firefox.exe")
EndIf
; on lance ccleaner.exe
Run($ccleaner)
; ensuite on attend que la fenetre soit ouverte et on l'active
WinWaitActive("Piriform CCleaner") ; ce qu'il y a entre crochet représente le titre de la fenêtre à attendre,.
; Maintenant on va se placer sur l'option nettoyer
Send("{TAB}"); on simule l'appuie sur la touche "TAB"
Sleep(200) ; on met une tempo avant de relancer une commande de
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
;On valide le nettoyage
Send("{ENTER}");on simule l'appuie sur la touche "ENTREE"
;On va mettre une tempo le temp que le nettoyage se termine
Sleep(50000)
;On va se placer sur l'option de réparation du registre
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{ENTER}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{ENTER}")
sleep (50000)
;On demande à réparer le registre pour tout ce qui est selectionné
Send("{TAB}")
Sleep (200)
Send("{ENTER}")
sleep (200)
;On teste si il y avait des objets à réparer en testant si oui ou non une fenetre de confirmation de sauvegarde est apparue
if WinActive("CCleaner", "Non") then
;Si il y'avait des objets à réparer on ne les sauvegarde pas
WinWaitActive("CCleaner", "Non") ; on active la fenêtre ayant pour titre "CCleaner" et contenant la chaine de caractères "Non"
Send("n") ;on ne veut pas enregistrer donc on appuie sur la touche "N"
Sleep (200)
;On demande de tout répararer
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{TAB}")
Sleep (200)
Send("{ENTER}")
sleep (200)
;On confirme la volonté de tout corriger
WinWaitActive("CCleaner", "OK")
Send("{ENTER}")
sleep (50000)
ProcessClose("CCleaner.exe");Fermeture de CCleaner
else
;Si aucun objet registre n'a été détecté on ferme ccleaner
ProcessClose("CCleaner.exe");Fermeture de CCleaner
EndIf
;On vérifie si ccleaner s'est bien fermé
If ProcessExists("CCleaner.exe") Then
ProcessClose("CCleaner.exe")
EndIf
;On envoie un mail pour prévénir que le nettoyage s'est bien déroulé
$s_SmtpServer = "smtp.free.fr"
$s_FromName = "Insomnia"
$s_FromAddress = "serveur2003.insomnia@mondomaine.fr" ; Celui qui envoye le mail
$s_ToAddress = "bvivi57@mondomaine.fr" ; la personne qui reçoit le mail
$s_Subject = "Nettoyage CCleaner"
Dim $as_Body[2]
$as_Body[0] = "Nettoyage effectué"
$as_Body[1] = "Aucun problèmes"
$Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
Exit
;===FIN DU SCRIPT===
Merci à tous