Page 1 sur 1

[Ex] Utilisation d'AtF-Cleaner pour supprimer les temp.

Posté : dim. 12 août 2007 10:02
par Debutant
Bonjour,

Je débute avec Auto-It
ci-joint un code pour purger les temp de son Windows
Atf-Cleaner telechargeble ici : http://www.atribune.org/ccount/click.php?id=1

Je teste la présence d'Auto-It puis on purge
Vos remarques sont évidement les bienvenus

Code : Tout sélectionner

;=====================================================
; Nettoyage des fichiers temporaires avec ATF-Cleaner
;=====================================================
;                                                                  Version 1.0
; Definition d'une variable
Dim $BureauAllUser
$BureauAllUser = @DesktopCommonDir

        ; sur l'unite amovible
        If FileExists ("\Nettoyage\SupTemp\ATF-Cleaner.exe") Then
        Run("\Nettoyage\SupTemp\ATF-Cleaner.exe")
    Else
        ; sur le serveur
        If FileExists ("..\Nettoyage\SupTemp\ATF-Cleaner.exe") Then
        Run("..\Nettoyage\SupTemp\ATF-Cleaner.exe")
    Else
        ; dans le dossier outil tous les utilisateurs    
        If FileExists ($BureauAllUser & "\Outil\Suppression des fichiers temporaires.exe") Then
        Run($BureauAllUser & "\Outil\Suppression des fichiers temporaires.exe")
    Else
        ; dans le dossier courant 
        If FileExists ("ATF-Cleaner.exe") Then  
        Run("ATF-Cleaner.exe")
    Else
        ; dans le dossier courant sous le nom de "Suppression des fichiers temporaires" 
        If FileExists ("Suppression des fichiers temporaires.exe") Then 
        Run("Suppression des fichiers temporaires.exe") 
    Else
        ; Message si Atf-Cleaner non présent
        MsgBox(16, "Probleme ATF-Cleaner", "Programme non trouvé : Abandon",4)
        Exit    
    EndIf
    EndIf
    EndIf
    EndIf
EndIf
WinWaitActive("ATF Cleaner - Main")
Send("{TAB 12}")
Send("{SPACE}")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("ATF Cleaner")
SLEEP (2500)
Send("{SPACE}")
Send("{TAB 2}")
Send("{ENTER}")
 

Posté : dim. 12 août 2007 11:33
par Tlem
Perso, j'utilise AutoIt pour faire le boulot sans logiciel supplémentaire.

Voici un code trouvé sur le forum Anglais, que j'ai adapter à mes besoins :

Code : Tout sélectionner

#include <Process.au3>

AutoItSetOption ("WinWaitDelay",100)
AutoItSetOption ("WinTitleMatchMode",4)
AutoItSetOption ("WinDetectHiddenText",1)
AutoItSetOption ("MouseCoordMode",0)
AutoItSetOption ("MustDeclareVars", 0)
AutoItSetOption ("WinTitleMatchMode", 1)
AutoItSetOption ("TrayAutoPause", 0)
AutoItWinSetTitle("AutoClean...")
Break(0)

TraySetIcon("Shell32.dll",32)
TrayTip("Démarrage","Effacements des fichiers et données temporaires...",25)

_RunDOS("del " & @TempDir & "\*.* /Q/S/F")
_RunDOS("cd /D " & @TempDir & " && rmdir .\ /S/Q")
_RunDOS("del " & @WindowsDir & "\temp\*.* /Q/S/F")
_RunDOS("cd /D " & @WindowsDir & "\temp && rmdir .\ /S/Q")
_RunDOS("del """ & @UserProfileDir & "\Cookies\*.*"" /Q/S/F")
_RunDOS("del """ & @UserProfileDir & "\Local Settings\Temporary Internet Files\*.*"" /Q/S/F")
_RunDOS("cd /D """ & @UserProfileDir & "\Local Settings\Temporary Internet Files"" && rmdir .\ /S/Q")
_RunDOS("del """ & @UserProfileDir & "\Local Settings\Temporary Internet Files\Content\*.*"" /Q/S/F")
_RunDOS("cd /D """ & @UserProfileDir & "\Local Settings\Temporary Internet Files\Content"" && rmdir .\ /S/Q")

FileRecycleEmpty ('')

TraySetIcon("Shell32.dll",31)
TrayTip("Traitement terminé !","Données temporaires éffacées.",25,1)
Sleep(3000)
 

Posté : dim. 12 août 2007 12:03
par Debutant
Merci pour ton oeuvre
Il faudrait peut-être rajouter un test pour la version de windows
rd ne marchant pas pour toutes les versions

Faudrait aussi purger les temp de FireFox et purger les temps de tous les profiles existant

Bonne journée

Posté : dim. 12 août 2007 13:46
par Tlem
Debutant a écrit :Merci pour ton oeuvre
Ce n'est pas la mienne, puisque comme je l'ai dit, j'ai trouver ceci sur le forum Anglais.
J'ai juste apporté quelques modifications mineures pour l'adapter à mes besoins !
Debutant a écrit :Il faudrait peut-être rajouter un test pour la version de windows
rd ne marchant pas pour toutes les versions
Voici une nouvelle version du script, qui n'a pas besoin de tester la version de Windows, et suffisamment commentée pour la compréhension de tous :

Code : Tout sélectionner

#Include <File.au3>

AutoItSetOption("TrayAutoPause", 0)
AutoItWinSetTitle("AutoClean...")
Break(0)

TraySetIcon("Shell32.dll", 32)
TrayTip("Démarrage", "Effacements des fichiers et données temporaires...", 25)

; Répertoire Temp de l'utilisateur courant.
_EmptyDir(@TempDir)
; Répertoire Temp de Windows
_EmptyDir(@WindowsDir & "\temp")
; Répertoire Cookies de l'utilisateur courant.
_EmptyDir(@UserProfileDir & "\Cookies")
; Répertoire Temporary Internet Files de l'utilisateur courant.
_EmptyDir(@UserProfileDir & "\Local Settings\Temporary Internet Files")
; Répertoire Temporary Internet Files\Content de l'utilisateur courant.
_EmptyDir(@UserProfileDir & "\Local Settings\Temporary Internet Files\Content")
_EmptyDir(@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5")

; Vidage de la corbeille.
FileRecycleEmpty('')

TraySetIcon("Shell32.dll", 31)
TrayTip("Traitement terminé !", "Données temporaires éffacées.", 25, 1)
Sleep(3000)

Func _EmptyDir($DirIn)
    ; Mise en place des fichiers/Dossier dans un tableau.
    $FileList = _FileListToArray($DirIn)
    ; Boucle de suppression.
    For $i = 1 To UBound($FileList) - 1
        ; Modification des attributs des Fichiers/Dossiers du répertoire.
        FileSetAttrib($DirIn & "" & $FileList[$i], "-RAH", 1)

        ; Si le $FileList[$i] est un répertoire on fait un DirRemove.
        If StringInStr(FileGetAttrib($DirIn & "" & $FileList[$i]), "D") Then
            DirRemove($DirIn & "" & $FileList[$i], 1)
        Else
            ; Sinon on fait un FileDelete.
            FileDelete($DirIn & "" & $FileList[$i])
        EndIf
        ; Fin de la boucle.
    Next
EndFunc   ;==>_EmptyDir
Debutant a écrit :Faudrait aussi purger les temp de FireFox
Si vous connaissez le répertoire temporaire de Firefox, vous pouvez le rajouter à la suite de la liste des fichiers/dossiers à supprimer !
Debutant a écrit :et purger les temps de tous les profiles existant
Cela me semble pas raisonnable, et surtout difficile à faire, puisque vous êtes en compte XXX, et que normalement vous n'avez pas accès aux répertoires privés des autres comptes.

Maintenant, peut être que en temps qu'administrateur ...

Posté : dim. 12 août 2007 18:37
par Debutant
grand merci Thierry

Je vais utiliser !