Kleiner Cleaner Skrip für XP

  • Hallo Leute!


    Ich arbeite gerade an mein code Windows-Info weiter habe da mal eine cleaner func gebastelt nichts großartiges aber vielleicht kann es ja jemand gebrauchen ist leider nur auf XP getestet darum würde ich mich über Feedbacks freuen Verbesserungsvorschläge gerne gesehen


    Die Order werden durchsucht '( Tmp ) ( Temporary Internet Files ) ( Cookies ) ( Recent ) ( Prefetch )' nach datein und Ordner die gelöscht werden können werden gelöscht manche werden vom System noch benutzt die halt nicht!

    Spoiler anzeigen
    [autoit]

    #comments-start
    --------------------------------------------
    Das ist ein kleiner Cleaner für XP
    Autor ( kleiner27 http://www.autoit.de )
    --------------------------------------------
    #comments-end
    #include <File.au3>
    Opt('GUIOnEventMode', 1)
    Global $Gan = GUICreate('System Analyse', 340, 690, -1, -1)
    GUISetOnEvent(-3, 'Gan')
    Local $bar = GUICtrlCreateProgress(10, 15, 125, 20)
    Local $lblproz = GUICtrlCreateLabel("", 140, 19, 25, 20)
    GUICtrlSetColor($lblproz, 0x0000FF)
    Local $gaList = GUICtrlCreateEdit('', 10, 95, 320, 450)
    GUICtrlCreateLabel('Diese Ordner werden durchsucht!', 10, 40, 200, 20)
    GUICtrlCreateLabel('( Tmp ) ( Temporary Internet Files ) ( Cookies ) ( Recent ) ( Prefetch )', 10, 60, 380, 20)
    Local $aspei[6], $x = 553
    For $i = 0 To 5
    $aspei[$i] = GUICtrlCreateInput('', 10, $x, 320, 20)
    GUICtrlSetColor(-1, 0x0000FF)
    $x += 22
    Next
    Local $ber = GUICtrlCreateButton('Bereinigen', 250, 30, 80, 20)
    GUICtrlSetOnEvent(-1, '_Dateanalyse')
    GUICtrlCreateButton('Analyse', 250, 6, 80, 20)
    GUICtrlSetOnEvent(-1, '_Dateanalyse')
    GUISetState()
    While 1 * Sleep(10)
    WEnd
    Func Gan()
    Exit
    EndFunc ;==>Gan
    Func _Dateanalyse()
    Dim $aNa[5] = [@TempDir & '\*.*', @UserProfileDir & '\Lokale Einstellungen\Temporary Internet Files\*.*', @UserProfileDir & '\Cookies\*.*', @UserProfileDir & '\Recent\*.*', @WindowsDir & '\Prefetch\*.*']
    Dim $aOa[5] = [@TempDir, @UserProfileDir & '\Lokale Einstellungen\Temporary Internet Files',@UserProfileDir & '\Cookies', @UserProfileDir & '\Recent', @WindowsDir & '\Prefetch']
    Dim $avo[5] = ['Einlesen vom Tmp Ordner gestartet........', 'Einlesen vom Temporary Internet Files Ordner gestartet........', 'Einlesen vom Cookies Ordner gestartet........', 'Einlesen vom Recent Ordner gestartet........', 'Einlesen vom Prefetch Ordner gestartet........']
    Dim $asp[5] = ['Tmp', 'Temporary Internet Files', 'Cookies', 'Recent', 'Prefetch']
    Dim $rech = DirGetSize(@TempDir) + DirGetSize(@UserProfileDir & '\Lokale Einstellungen\Temporary Internet Files') + DirGetSize(@UserProfileDir & '\Cookies') + DirGetSize(@UserProfileDir & '\Lokale Einstellungen\Verlauf\History.IE5') + DirGetSize(@UserProfileDir & '\Recent') + DirGetSize(@WindowsDir & '\Prefetch')
    Do
    $i += 1
    Sleep(10)
    GUICtrlSetData($bar, $i)
    GUICtrlSetData($lblproz, "" & $i & "%")
    Until $i = 100
    For $i = 0 To 4
    GUICtrlSetData($aspei[$i], $asp[$i] & ': ' & Round(DirGetSize($aOa[$i]) / 1024) & ' Kby ' & Round(DirGetSize($aOa[$i]) / 1024 / 1024) & ' MB ' & Round(DirGetSize($aOa[$i]) / 1024 / 1024 / 1024) & ' GB')
    GUICtrlSetData($gaList, GUICtrlRead($gaList) & @CRLF & @CRLF & $avo[$i])
    Listen(FileFindFirstFile($aNa[$i]))
    Next
    GUICtrlSetData($aspei[5], 'Gesamt: ' & Round($rech / 1024) & ' Kby ' & Round($rech / 1024 / 1024) & ' MB ' & Round($rech / 1024 / 1024 / 1024) & ' GB')
    Select
    Case @GUI_CtrlId = $ber
    For $i = 0 To 4
    FileDelete($aNa[$i])
    Next
    For $s = 0 To UBound($aOa) - 1
    Dim $te = _FileListToArray($aOa[$s], '*', 2)
    For $i = 1 To UBound($te) - 1
    DirRemove($aOa[$s] & '\' & $te[$i], 1)
    Next
    Next
    GUICtrlSetData($gaList, 'Bei neuer Analyse werden nicht alle Datein und Ordner' & @CRLF & 'gelöscht sein das System erstellt sie neu!' & @CRLF & 'Die gebliebenen Datei und Ordner werden gerade genutzt!')
    EndSelect
    EndFunc ;==>_Dateanalyse
    Func Listen($e)
    Dim $i = 0
    Do
    Dim $file = FileFindNextFile($e)
    If $file = '' Then $file = 'Einlesen vom Ordner beendet!'
    GUICtrlSetData($gaList, GUICtrlRead($gaList) & @CRLF & $file)
    If $file = 'Einlesen vom Ordner beendet!' Then ExitLoop
    $i = $i - 1
    Until $i = $e
    FileClose($e)
    EndFunc ;==>Listen

    [/autoit]


    Update: 11.11.09 - Erweiterung mit Progress und größen Anzeige der Ordner


    LG Kleiner