2017-09-18 3 views
0

Ich habe ein ZIP-Archiv, dessen Verzeichnisstruktur so aussieht.Powershell - Verschieben von Dateien/Ordnern in einem ZIP-up-Verzeichnis?

Wurzel. ZIP

Level 1 Ordner

Level 2 Dateien/Ordner

Was ich zur Zeit tun, ist die ZIP Extrahieren alle Dateien bis auf das richtige Verzeichnis zu bewegen, die jetzt leeren Ordner löschen und dann endlich den Ordner wieder hochzerren.

Meine Frage ist, gibt es eine Möglichkeit, dies zu tun, ohne das ursprüngliche Archiv überhaupt extrahieren zu müssen?

+0

Sie können die '-Update' Schalter auf dem' Compress-Archive' Cmdlets verwenden, aber es erfordert, dass Sie die entpackten Dateien auch haben. – TheIncorrigible1

+0

was meinst du bis aktuelles Verzeichnis? – ArcSet

Antwort

0

Sie können Zip-Dateien in den Arbeitsspeicher laden, ohne sie auf der Festplatte zu extrahieren.

$ZipFile = "C:\zipfolder\test.zip" 

Add-Type -AssemblyName System.IO 
Add-Type -AssemblyName System.IO.Compression 

$FileStream = [System.IO.File]::OpenRead($ZipFile) 
$ArchiveInMemory = [System.IO.Compression.ZipArchive]::new($file) 

Add-types laden die benötigten Klassen.

OpenRead lädt die Datei in den Speicher.

ZipArchive wird die Datei im Speicher als Zip-Archiv interpretiert

Verwandte Themen