eXsProject Backup CleanUp with PowerShell


Zweck und Funktionalität
Der sehr sinnvolle und nützliche Ansatz, dass die Projektsicherungen jeweils einen Datumstempel bekommen, führt erfahrungsgemäss mittelfristig zu beachtlichen Datenmengen in den konfigurierten Backup Verzeichnissen. Das Skript dient der automatisierten Bereinigung von „quasi identischen“ Dateien in einem angegebenen Startverzeichnis. Es identifiziert ältere Versionen von Dateien mit dem Namensmuster `.YYYYMMDD.<Endung>` und verschiebt diese in einen Archivordner. Die aktuellste Version jeder Datei bleibt erhalten. Alle Aktionen werden in einer CSV-Datei protokolliert.

Hauptfunktionen

- WPF-GUI zur Benutzerinteraktion:

 - Eingabe des Startverzeichnisses
 - Konfiguration der Dateiendung (Standard: `.eXsProject`)
 - Festlegung des Archivordnernamens (Standard: `Archiv_eXsProject`)
 - Auswahl des CSV-Trennzeichens (Komma oder Semikolon)

- Dateierkennung und Bereinigung:

 - Rekursive Suche nach Dateien mit dem Muster `.YYYYMMDD.<Endung>`
 - Gruppierung nach Basisnamen (ohne Datum)
 - Behalten der neuesten Datei, ältere Versionen werden verschoben

- Archivierung:

 - Archivordner wird im `%Temp%`-Verzeichnis erstellt
 - Name enthält Zeitstempel: `YYYYMMDD-HHMM_Archiv_<Endung>`

- Protokollierung:

 - CSV-Datei im `%Temp%`-Verzeichnis: `YYYYMMDD_eXsProjectCleanUpScript.csv`
 - UTF-8 codiert, mit konfigurierbarem Trennzeichen
 - Spalten: `UNCPfad;DateiName;SpeicherDatum;gefunden;gelöscht`
 - Automatisches Öffnen der CSV-Datei nach Abschluss

- Benutzerfeedback:

 - Mauszeiger wird während der Verarbeitung zur Sanduhr
 - Statusanzeige im Fenster (z. B. „Bereinigung läuft…“)

Hinweise zur Anwendung

- Das Skript kann direkt in PowerShell ISE als Administrator ausgeführt werden.
- Die GUI ist vollständig in WPF implementiert und benötigt keine zusätzlichen Module.
- Die Verarbeitung kann bei grossen Datenmengen oder langsamen Netzlaufwerken Zeit in Anspruch nehmen.

Berechtigungen und Execution Policy

- Das Skript versucht, die Execution Policy temporär auf `Unrestricted` zu setzen.
- In restriktiven Umgebungen (z. B. mit GPOs) kann dies blockiert sein.
- Empfehlung: Ausführung über PowerShell ISE als Administrator, da dort die Policy nicht greift.
- Alternativ kann das Skript manuell in ISE eingefügt und ausgeführt werden.

Kompatibilität

- Getestet unter Windows 10, Windows 11 und Windows Server 2022
- Keine zusätzlichen Abhängigkeiten erforderlich

Fazit

Das Skript bietet eine komfortable Möglichkeit zur Bereinigung und Archivierung von versionsbasierten Dateien mit vollständiger Protokollierung und GUI-Unterstützung. Es ist besonders geeignet für Umgebungen mit grossen Datenmengen und wiederkehrenden Dateistrukturen.

PS: natürlich waren in diesem Zusammenhang auch die zeigemässen Möglichkeiten der KI genutzt worden.

Ist eine Frage aufgetaucht? Dann erstellen Sie bitte direkt hier ein Ticket – wir kümmern uns darum!
Je genauer Sie Ihr Anliegen beschreiben, desto schneller können wir Ihnen weiterhelfen.
Tags