2017-08-10 1 views
1

Ich versuche, mehrere Zip-Dateien in einem Verzeichnis mit einem Powershell-Skript zu entpacken. Alles funktioniert gut, außer dass es immer während der letzten Zip-Datei im Verzeichnis fehlschlägt. Die Zip-Datei ist nicht beschädigt - ich kann sie manuell einfach entpacken. Es beginnt, den Inhalt zu extrahieren (ich kann sehen, es in Windows Explorer bevölkert wird), dann aber gegen Ende es fehlschlägt, entfernt die extrahierten Inhalte aus dieser Zip-Datei aus dem Windows Explorer, und wirft den folgenden Fehler:Extrahieren von Zip-Dateien mit Powershell, die bei der letzten Zip-Datei fehlschlagen.

Exception calling "ExtractToFile" with "3" argument(s). "Could not find a part of the path '<path-to-a-file-within-the-zip-archive>. 

Ich bin mir nicht sicher, warum das passiert, wenn alle anderen Reißverschlüsse gut funktionieren. Ich habe auch herausgefunden, dass dies nicht passiert, wenn ich die Dateien in dasselbe Verzeichnis entpacke wie das Powershell-Skript, das diesen Code ausführt.

Hier ist mein Code, der die Dateien entpackt:

Get-ChildItem .\ZipFilesDirectory-Filter *.zip | Expand-Archive -DestinationPath .\ExtractedZipFolders -Force 
+0

Aufnahmen im Dunkeln. Scheitert es an der letzten Datei oder immer an der letzten im Ordner? Was passiert, wenn Sie sie einzeln verarbeiten? dh nicht in einer Pfeife. Ändert sich etwas, wenn Sie absolute statt relative Pfade verwenden? – Matt

+0

Ist es ein Problem mit diesem Archiv oder ein Problem mit Ihrem Skript? D. h., Macht einen anderen Archivierungsfehler, wenn Sie den störenden entfernen? Kann eines der anderen Archive eine Datei erstellen, die das letzte Archiv als Ordner erstellen möchte? –

+0

Es schlägt immer auf die letzte Zip-Datei innerhalb des Ordners - ich kann nicht feststellen, welche Datei es innerhalb dieser Zip obwohl fehlschlägt. Sie einzeln zu verarbeiten, funktioniert gut. Da dieses Skript auf verschiedenen Computern ausgeführt werden soll, ist die Verwendung von absoluten Pfaden keine Option. – Roka545

Antwort

0

Es stellt sich heraus eine Datei in meinem Zip-Archiv war, die in einem „Pfad zu lang“ Problem ergibt, wenn in das gewünschte Verzeichnis zu extrahieren. Zur Problemumgehung habe ich das Archiv auf mein Laufwerk C (C: /) extrahiert und dann in das richtige Verzeichnis verschoben.

Verwandte Themen