lokalen Ordner leeren

Feedback und Verbesserungsvorschläge zu ACMP
Antworten
Benutzeravatar
Falaffel
Beiträge: 158
Registriert: Do Feb 04, 2016 5:53 pm

Guten Tag,

manchmal frage ich mich ob es von Haus aus für manche kleinen Dinge, keine vorgefertigte Lösung bei ACMP gibt. Ich kann Dateien löschen, ich kann Verzeichnisse löschen, aber ich kann irgendwie nicht den Inhalt eines Verzeichnisses komplett löschen.
Klar kann ich alle Dateien in einem Verzeichnis löschen und durch den Haken "Rekursiv" auch die Dateien in den Unterordnern, aber die Unterordner kann ich dann nicht löschen.
Da es sich um das temporäre Verzeichnis von Windows handelt, möchte ich dieses auch nicht komplett löschen und anschließend neu anlegen, da ich nicht weiß, was dabei passieren kann. Hat jemand dafür einen Tipp bzw. auch eine Lösung?
Mit freundlichen Grüßen

Robert-Daniel Steichele
r.steichele@gottlob-rommel.de
http://www.gottlob-rommel.de
twahl
Beiträge: 366
Registriert: Mo Mär 03, 2014 11:21 am

Hallo Robert,

mit den ACMP Bausteinen lässt sich dies wie folgt abbilden:

"Dateien iterieren / Iterate files":
- (x) Ordner iterieren
- Dateimaske: z.B. C:\Temp\
- [x] Pfad einbeziehen
- Ausgabevariable angeben, z.B. %FOLDERS%

darunter eingerückt ein "Ordner löschen / Delete directory" Baustein:
- Ordner: Variable aus dem ersten Baustein angeben, z.B. %FOLDERS%
- [x] Rekursiv

Damit sollten alle Unterordner in diesem Verzeichnis gelöscht werden.
Jetzt muss man nur noch die Dateien in diesem Verzeichnis selbst löschen.

"Datei(en) löschen / Delete file(s)":
- Pfad: z.B. C:\Temp\*

delete_temp.png
delete_temp.png (1.85 KiB) 5430 mal betrachtet

Alternativ hätte man noch die Möglichkeit mit PowerShell oder Batch Script zu arbeiten.
Mit freundlichen Grüßen,

Tobias Wahl
Aagon GmbH
Benutzeravatar
Falaffel
Beiträge: 158
Registriert: Do Feb 04, 2016 5:53 pm

Hallo Tobias,

so funktioniert es, danke für deine Hilfe. Mein Ziel ist es die beiden temporären Ordner von Windows zu leeren

- Ddn von System (C:\Windows\Temp\)
- und den vom Awender (C:\Benutzer\Anwender\appdata\local\temp\)

Ich dachte die Variable %Tempdir% gibt den Pfad zum Tempordner des Anwenders an. Irgendwie geht bei meinen Versuchen das CC dann aber doch auf C:\Windows \Temp\

Hat mir noch jemand einen Tipp, wie ich das CC auf den Tempordner des aktuellen Anwenders loslassen kann, und wann ich das am besten ausführe? Beim Heruterfahren ist der Anwender ja bereits abgemeldet und bei Abmeldung gibt es als Startparameter nicht.

Wie würdet ihr an diese Sache herangehen?
Mit freundlichen Grüßen

Robert-Daniel Steichele
r.steichele@gottlob-rommel.de
http://www.gottlob-rommel.de
twahl
Beiträge: 366
Registriert: Mo Mär 03, 2014 11:21 am

Hallo Robert,

je nachdem in welchem Kontext (Dienst oder Benutzer) die ACMP Client Command Bausteine ausgeführt werden, wird die Variable unterschiedlich aufgelöst.

Will man mit Dienst Berechtigungen auf einen Benutzerpfad zugreifen, kann man mit einer zusätzlichen Variable arbeiten.
In einem "Projektvariable setzen / Set project variable" Baustein setzt man den Wert aus der ACMP Variable.
Hier im Beispiel die neue Variable %TEMP% und die ACMP Variable %TEMPDIR%:
temp.png
temp.png (8.66 KiB) 5406 mal betrachtet
Der Baustein muss dann als Benutzer ausgeführt werden (unter Allgemein):
user.png
user.png (2.37 KiB) 5406 mal betrachtet
Danach kann in weiteren Bausteinen (als Dienst) die %TEMP% Variable verwendet werden, diese enthält den Pfad zum Benutzer Temp Verzeichnis.

Zu der Ausführung vor Benutzer Abmeldung hätte ich jetzt auch keine einfache Lösung, eventuell per Scheduled Task, da weiß ich aber nicht ob es da ein geeignetes Event gibt, welches dann auch die Abmeldung pausiert. ( Für den Start des CCs lässt sich dann z.B. wruncc nutzen )
Mit freundlichen Grüßen,

Tobias Wahl
Aagon GmbH
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hallo Robert,

bzgl. des Löschens innerhalb der Benutzerverzeichnisse könntest du dir ggf. einmal viewtopic.php?f=77&t=2205 ansehen, da ging es um etwas ähnliches=)
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
Antworten