Tag Archives: Winrar

Viele Rar Dateien entpacken mit PowerShell

Ich hatte soeben das Problem, dass ich einige dutzend .rar Dateien hatte, welche in allen möglichen Unterverzeichnissen einen Ordners lagen. Da ich ehrlich gesagt viel zu faul bin jede Datei einzeln anzuklicken und zu entpacken habe ich vor einiger Zeit das Programm „Muli Unpacker“ gefunden, welches aber einen entscheidenden Nachteil hat: Das Winrar-Entpack Fenster ist immer im Vordergrund. Ergo ziemlich blöd wenn man nebenher irgendwas sinnvolles arbeiten möchte.
Da Winrar standardmäßig aber auch einige Command-Line Tools (rar.exe, unrar.exe) mitbringt, kann man dies auch schnell in der PowerShell automatisieren. Folgendermaßen könnte solch ein Script aussehen:

$input = Read-Host "Bitte Pfad eingeben:"
$files = Get-ChildItem $input -Recurse -Filter *.rar 

foreach ($file in $files)
{
    $Filename = $file.FullName
    $DirectoryName = $file.DirectoryName
    & 'C:\Program Files\WinRAR\UnRAR.exe' x -y $filename $DirectoryName | Out-Null
    if ($LASTEXITCODE -match "0")
    {
        rm "$DirectoryName\*.r*"
        rm "$DirectoryName\*.sfv"
        Write-Host "Gelöscht: $DirectoryName\*.r*"
        Write-Host "Gelöscht: $DirectoryName\*.sfv"
    }
    else
    {
        Write-Host -ForegroundColor Red "ACHTUNG FEHLER! $filename"        
    }
}

Ich hoffe dem ein oder anderen hilft das weiter 🙂 Gute Nacht 🙂

2 Comments

Filed under PowerShell, Windows