Skip to content

Latest commit

 

History

History
34 lines (28 loc) · 2.46 KB

File metadata and controls

34 lines (28 loc) · 2.46 KB

extract_rar.ps1

Kurzbeschreibung

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.

Voraussetzungen

  • 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.

Technische Umsetzung

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.

Funktionen und Parameter

  • Get-DirectorySize: Ermittelt die Größe eines Verzeichnisses in GB.
    • Parameter: Path (der Pfad zum Verzeichnis).
  • 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.

Beispiele

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"

Anmerkungen

  • 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