Dieses PowerShell-Skript ist zur automatischen Entpackung von RAR-Dateien in vorgegebenen Verzeichnissen konzipiert. Es durchsucht eine Reihe von Startverzeichnissen nach RAR-Dateien, speziell nach Teilen von mehrteiligen RAR-Archiven, und entpackt diese mit Hilfe von 7-Zip. Nach dem Entpacken wird überprüft, ob die Größe des Verzeichnisses wie erwartet gestiegen ist, und optional können die RAR-Dateien gelöscht werden.
- PowerShell
- 7-Zip muss installiert sein, und der Pfad zur 7-Zip-Executable (7z.exe) muss korrekt angegeben werden.
- Zugriff auf die Startverzeichnisse und die darin enthaltenen RAR-Dateien.
Das Skript akzeptiert drei Parameter: startdirs (ein Array von Startverzeichnissen), PfadZu7Zip (der Pfad zur 7-Zip-Executable, standardmäßig "C:\Program Files\7-Zip\7z.exe") und password (ein optionales Passwort für die RAR-Dateien). Es definiert eine Funktion Get-DirectorySize, um die Größe eines Verzeichnisses in GB zu ermitteln. Das Skript durchläuft jedes Startverzeichnis, sucht nach .part*.rar-Dateien (für mehrteilige Archive) oder einfachen .rar-Dateien, entpackt sie mit 7-Zip und verifiziert den Erfolg durch Größenvergleich.
- Get-DirectorySize: Ermittelt die Größe eines Verzeichnisses in GB.
- Parameter:
Path(der Pfad zum Verzeichnis).
- Parameter:
- Parameter:
startdirs: Ein Array von Strings, die die Startverzeichnisse angeben, in denen nach RAR-Dateien gesucht werden soll. Dieser Parameter ist erforderlich.PfadZu7Zip: Der Pfad zur 7-Zip-Executable. Optional, Standard ist "C:\Program Files\7-Zip\7z.exe".password: Das Passwort für die RAR-Dateien, falls erforderlich. Optional.
Entpacken von RAR-Dateien in mehreren Verzeichnissen mit Passwort:
PS> .\extract_rar.ps1 -startdirs @("j:\Path\To\Series\S01\", "j:\Path\To\Series\S02\") -PfadZu7Zip "C:\Program Files\7-Zip\7z.exe" -password "yourpassword"
- Das Skript prüft die Vollständigkeit der RAR-Archive und verifiziert den Entpackungserfolg durch Größenvergleich.
- RAR-Dateien werden nur gelöscht, wenn die Verzeichnisgröße nach dem Entpacken wie erwartet gestiegen ist (die Löschung ist im Skript auskommentiert; entfernen Sie das Kommentarzeichen, um sie zu aktivieren).
- Lizenz: Creative Commons Attribution 4.0 International License (CC BY 4.0).
- Autor: Erhard Rainer
- Datum: 2023-09-16
- Version: Initiale Version