Dieses PowerShell-Skript ist zur automatisierten Dateiverwaltung und -organisation konzipiert, wobei 7-Zip für Operationen auf Dateiebene verwendet wird. Es durchläuft alle Unterverzeichnisse eines angegebenen Startpfades und führt basierend auf der Dateistruktur und dem Inhalt spezifische Aktionen durch, wie das Entpacken von RAR-Dateien oder das Organisieren von Unterverzeichnissen.
- PowerShell
- 7-Zip muss installiert und der Pfad zur 7-Zip-Executable (7z.exe) muss korrekt angegeben werden.
Das Skript akzeptiert zwei Parameter: StartPath (den Pfad des Startverzeichnisses, standardmäßig "n:_neu"), und demo (einen Schalter, der bei $true den Vorgang simuliert). Es definiert mehrere Funktionen: DurchlaufeVerzeichnisse zum rekursiven Durchlaufen der Verzeichnisstruktur, BehandleRarDateien zur Behandlung von .rar-Dateien einschließlich Entpackung mit 7-Zip, Get-VerzeichnisGroesse zur Ermittlung der Verzeichnisgröße, ÜberprüfeVollständigkeit und ErmittleSequenzLaenge für RAR-Serien, BehandleUnterverzeichnisse zur speziellen Behandlung von Unter-Unterverzeichnissen, FindeUnterverzeichnisse und VerschiebeDateien für weitere Organisation.
- DurchlaufeVerzeichnisse: Durchläuft alle Unterverzeichnisse und ruft je nach Situation spezifische Behandlungsfunktionen auf.
- Parameter:
Verzeichnis,demo,iteriereMehrereVerzeichnisse,zuIgnorierendeVerzeichnisse.
- Parameter:
- BehandleRarDateien: Behandelt .rar-Dateien, prüft Vollständigkeit und entpackt mit 7-Zip.
- Parameter:
Unterverzeichnis,PfadZu7Zip,demo.
- Parameter:
- Get-VerzeichnisGroesse: Ermittelt die Größe eines Verzeichnisses.
- Parameter:
Pfad.
- Parameter:
- ÜberprüfeVollständigkeit: Prüft, ob RAR-Dateien eine vollständige Serie bilden.
- Parameter:
RarDateien,sequenzLaenge.
- Parameter:
- ErmittleSequenzLaenge: Ermittelt die Sequenzlänge von RAR-Dateien.
- Parameter:
Dateien.
- Parameter:
- BehandleUnterverzeichnisse: Behandelt verschiedene Fälle basierend auf der Anzahl und Art der Unter-Unterverzeichnisse.
- Parameter:
Unterverzeichnis,demo,iteriereMehrereVerzeichnisse,zuIgnorierendeVerzeichnisse.
- Parameter:
- FindeUnterverzeichnisse: Hilfsfunktion zur Suche nach Unterverzeichnissen.
- Parameter: Verschiedene.
- VerschiebeDateien: Verschiebt Dateien basierend auf Kriterien.
- Parameter: Verschiedene.
- Parameter:
StartPath: Der Pfad des Startverzeichnisses, von dem aus die Verarbeitung beginnt. Standardmäßig auf "n:_neu" gesetzt.demo: Wenn auf $true gesetzt, wird der Vorgang nur simuliert und keine realen Dateioperationen durchgeführt.
Starten des Skripts im Demo-Modus:
PS> .\ComprehensiveFileManagementWith7Zip.ps1 -StartPath "D:\Ordner" -demo $true
Das Skript ermöglicht eine flexible Handhabung verschiedener Datei- und Verzeichnisstrukturen und nutzt dabei die Leistungsfähigkeit von 7-Zip für die Dateibehandlung.
- Autor: Erhard Rainer
- Version: 1.0
- Erstellungsdatum: 2024-01-09