Rekursiv entpacken mit 7-zip und der Windows Powershell

Ich hatte gerade das Problem unter Windows 7 einen Ordner zu haben in dem ca. 100 Unterordner liegen. Dort ist jeweils ein .rar Archiv enthalten.
Da sich 7-zip wunderbar über die Commandline bedienen lässt und ich Lust hatte mich erstmals mit der Microsoft Powershell zu beschäftigen sieht meine Lösung dafür so aus:

rekursiv_unpack.ps1

$path = "d:\archives"
$7zip = "c:\program files\7-zip\7z.exe"
$items = Get-ChildItem -Path $path
 
foreach ($item in $items)
{
      if ($item.Attributes -eq "Directory")
      {
        Write-Host $item.Name
        cd "$path\$item"
        & $7zip x $path\$item\*.rar
      }
}

Das „cd“ dient dazu das jeweilige Archiv in den Quell Unterordner zu entpacken. Man kann Scripte simpel per Copy&Paste in der Powershell ausführen.

KategorienWindows
  1. Bernd
    15. Juli 2016, 10:48 | #1

    Eigentlich war ich froh diesen Beitrag gefunden zu haben – sah er doch vielversprechend aus.
    Hat bei mir aber leider nicht funktioniert. Ich habe versucht ein mehrfach verschachteltes *.tar-Archiv zu entpacken. Dazu habe ich das Script mit der rechten Maustaste unter Win 10 als Powershell-Script ausführen lassen. Nach 2-3 Sekunden hat sich das blaue Fenster ergebnislos geschlossen. Im angegebenen Verzeichnis stand die *.tar immer noch einsam und verlassen. Da wurde nix entpackt.

  2. Dominik
    15. Juli 2016, 22:09 | #2

    @Bernd

    Hast du die Zeile die den 7zip Aufruf enthält angepasst?

  1. Bisher keine Trackbacks