Ich muss ein bestimmtes Verzeichnis aus einer Zip-Datei entpacken.
Wie zum Beispiel das Verzeichnis 'test \ etc \ script' aus der Zip-Datei 'c: \ tmp \ test.zip' extrahieren und in c: \ tmp \ output \ test \ etc \ script einfügen.
Der folgende Code funktioniert, hat aber zwei Macken:
Ich muss rekursiv das Verzeichnis ('script') in der zip-Datei finden (Funktion finditem), obwohl ich den Pfad bereits kenne ('c: \ tmp \ test.zip \ test \ etc \ script')
Mit CopyHere muss ich das Zielverzeichnis bestimmen, speziell den 'test \ etc' Teil manuell
Irgendwelche besseren Lösungen? Danke.
Der Code:
%Vor%Soweit der Speicherort des Ordners in einer Zip-Datei bekannt ist, kann der ursprüngliche Code vereinfacht werden:
%Vor% Ich weiß nicht, über die meisten elegant, aber mit .Net 4.5 installiert können Sie die ZipFile
Klasse aus dem System.IO.Compression
Namespace:
Der Parameter 3 rd von ExtractToFile()
kann weggelassen werden. Wenn vorhanden, definiert es, ob vorhandene Dateien überschrieben werden oder nicht.
Windows PowerShell 5.0 (in Windows 10 enthalten) unterstützt nativ das Extrahieren von ZIP-Dateien mit Expand-Archive
Cmdlet:
Tags und Links powershell