ClearProg: Dateien automatisch löschen
Das Programm ClearProg ist ein kleines Tool, mit dessen Hilfe man z. B. Temporäre Internet Dateien (Cache) von IE, Opera und Co. löschen kann. Das Tolle: es ist auch möglich, eigene Ordner zu definieren, das Programm per Parameter zu starten, um so z. B. per geplantem Task einen sich wiederholenden Job einrichten zu können. Ich verwende das Programm etwa dafür, eine bestimmte Netzwerkfreigabe täglich leeren zu lassen. Bei diesem Ordner handelt es sich um ein "Tausch-Verzeichnis", auf welches jeder User Zugriff hat, täglich aber geleert werden muss, um sicherzustellen, dass dieses "Tausch-Verzeichnis" auch wirklich nur zum Datenaustausch und nicht als Dateiablageort verwendet wird.
Inhaltsverzeichnis
Umsetzung: automatisiertes Löschen via Geplanten Task und Versand der Protokolldateien[Bearbeiten]
Die Installation von ClearProg ist selbsterklärend. Die Software kann unter http://www.clearprog.de kostenlos heruntergeladen werden. Zudem ist das Tool Blat notwendig, mit dessen Hilfe das Log-File von ClearProg, die ClearProg.log und ClearProgError.log, per Mail versendet wird, die Software gibt’s unter http://www.blat.net . Kopiere die 3 Dateien von Blat am besten ins Installations-Verzeichnis von ClearProg (in der Regel C:\Programme\ClearProg).
ClearProg konfigurieren[Bearbeiten]
Die Konfiguration ist fast selbsterklärend, ein paar Sachen müssen aber beachtet werden. Eine davon ist, dass ClearProg unter dem Benutzer aufgerufen werden muss, unter dem später der "Geplante Task" (Windows XP / 2003) / "Aufgabe" (Vista / Win 7 / Server 2008 / Server 2008 R2) ausgeführt wird. Halte die Shift-Taste gedrückt und klicke mit der rechten Maustaste auf die ClearProg.exe, "Auführen als..." auswählen und die Benutzeranmeldeinformationen eingeben, unter welche der Task später laufen wird. Füge dann das "Tausch-Verzeichnis" bei "Eigene Ordner" hinzu:
Wähle also den Ordner, der geleert werden soll, aus und bestätige dann mit OK. Es erscheint eine Sicherheitsabfrage, ob man den Ordner als "Eigenen Ordner 1" wirklich aktivieren will - natürlich mit "Ja" bestätigen. Das Ganze sieht dann wie folgt aus:
Will man nun erreichen, dass auch Unterordner geleert werden, klicke auf "Filter bearbeiten" und lege die entsprechende Option fest. Wichtig: will man zudem festlegen, dass alle Dateien in den Unterordnern gelöscht, aber die Unterordner beibehalten werden, muss der Haken bei "leere Unterverzeichnisse löschen (1)" entfernt werden!
Zum Schluss die Einstellungen speichern, indem du in der Menüleiste auf "Datei", "Einstellungen Speichern" klickst (Shortcut: Strg+S).
Logging aktivieren[Bearbeiten]
Um mittels Blat die ClearProgError.log-Datei als Message-Text und die ClearProg.log als Anhang per Mail versenden zu können, muss vorher das Logging entsprechend aktiviert werden:
Wieder die Einstellungen speichern.
Script zum Löschen des Ordners und Versenden der Mail[Bearbeiten]
Das Batch-Script für mein Szenario sieht nun so aus:
@echo off c: cd %ProgramFiles%\ClearProg cmd /C ClearProg.exe /OWN1 /HIDDEN && blat ClearProgError.log -f absender@mail-adresse.de -server dein.mail-server.de -port 25 -to empfaenger@mail-adresse.de -subject "Ordner geloescht" -attacht ClearProg.log exit
Voraussetzung, dass dieses Script funktioniert:
- Die blat.exe wurde heruntergeladen und befindet sich im Verzeichnis %ProgramFiles%\ClearProg
- Das Logging wurde wie oben gezeigt aktiviert
- Du hast einen Mail-Server, über den du versenden kannst :-)
Bugfix[Bearbeiten]
Unter Windows Vista / Windows 7 / 2008 / 2008 R2 wird im ClearProgError.log der Fehler protokolliert:
Info: IE-Local Settings-Pfad konnte nicht ermittelt werden
Theoretisch kann dieser Fehler ignoriert werden. Er hängt damit zusammen, dass unter den genannten Betriebssystemen im Schlüssel
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
der Eintrag
Local Settings
nicht mehr existiert. Also: entweder ignorieren oder einen Zeichenfolgen-Wert "Local Settings" festlegen. Als Wert gib den Pfad
C:\Users\<benutzername>\AppData\Local
an. Wichtig an dieser Stelle: trage bei <benutzername> den Usernamen ein, unter dem ClearProg ausgeführt wird!