Zippen mit PowerShell 5.0
In der neuen PowerShell liefert Microsoft endlich die Commandlets Compress-Archive und Expand-Archive.
In der neuen PowerShell liefert Microsoft endlich die Commandlets Compress-Archive und Expand-Archive.
Kaum zum glauben, dass Microsoft die PowerShell-Versionen 1 bis 4 ohne eigene Commandlets zum Erstellen von komprimierten Archivdateien ausgeliefert hat. Bisher musste der PowerShell-Nutzer dazu auf eine .NET-Klasse zurückgreifen:
$quelle = "t:\temp\Kundendaten"
$ziel = "t:\Kundendaten.zip"
Add-Type -assembly "system.io.compression.filesystem"
[System.IO.Compression.ZipFile]::CreateFromDirectory($quelle, $ziel)
Alternativ dazu gab es Commandlets in Erweiterungsbibliotheken aus der Community:
- PowerShell Community Extensions [1]: Write-Zip, Write-Gzip, Write-Tar, Write-BZip2
- PowerShellPack [2]: New-Zip, Copy-ToZip (Downloadlink aber nicht mehr verfügbar)
Nun in PowerShell 5.0 [3] liefert Microsoft zwei Commandlets mit:
- Compress-Archive
- Expand-Archive
Compress-Archive erhält Eingabedateien über den ersten Parameter (-Path) oder den Inhalt der Pipeline:
Compress-Archive t:\Temp\KundenDaten -DestinationPath h:\KundenDaten.zip
dir t:\Temp\KundenDaten | Compress-Archive -dest t:\KundenDaten.zip
Expand-Archive funktioniert analog:
Expand-Archive t:\KundenDaten.zip t:\Temp\KundenDaten -Force
"t:\KundenDaten.zip" | Expand-Archive -DestinationPath
t:\Temp\KundenDaten -Force
Allerdings unterstützen diese beiden Commandlets nur ZIP-Dateien. Andere Formate werden abgelehnt (" .rar is not a supported archive file format. .zip is the only supported archive file format")
Bei Compress-Archive bestimmt die Einstellungen für CompressionLevel ("NoCompression", "Fastest" oder "Optimal") den Komprimierungsgrad. Das -Update-Flag aktualisiert bestehende Archive, indem es Dateien ergänzt beziehungsweise ältere Versionen überschreibt. Bei Expand-Archive erzwingt der Parameter -force , dass bestehende Dateien überschrieben werden, was sonst zu einem Fehler führt.
( [4])
URL dieses Artikels:
https://www.heise.de/-2803617
Links in diesem Artikel:
[1] https://pscx.codeplex.com/
[2] http://blogs.technet.com/b/deds/archive/2009/10/19/powershell-pack.aspx
[3] http://www.it-visions.de/WindowspowerShell_5/lex/7847.aspx
[4] mailto:hs@ix.de
Copyright © 2015 Heise Medien