Expand-Archive в powershell не может извлечь вложенные папки и файлы

У меня есть следующая простая оболочка PowerShell для извлечения zip-папки (содержащей другие папки и только файлы журнала) в место назначения

$FolderPath = "C:\Temp\Whatever"

Expand-Archive -Path "$FolderPath\logs.zip" -DestinationPath "$FolderPath\logs"

К сожалению, это возвращает целую кучу ошибок, как показано ниже ....

Remove-Item : Cannot find path 'C:\Temp\Whatever\logs\1_Selenium SEPA-Test\Attempt1\1_Start VM's\Release\1_Initialize Agent.log' because it does not exist.
At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:410 char:46
+ ...                 $expandedItems | % { Remove-Item $_ -Force -Recurse }
+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Temp\Whateve...alize Agent.log:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Remove-Item : Cannot find path 'C:\Temp\Whatever\logs\1_Selenium SEPA-Test\Attempt1\1_Start VM's\Release\1_Initialize Job.log' because it does not exist.
At C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:410 char:46
+ ...                 $expandedItems | % { Remove-Item $_ -Force -Recurse }
+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Temp\Whateve...tialize Job.log:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

и множество других похожих ошибок

Я могу подтвердить, что файл, указанный в первой ошибке C:\Temp\Whatever\logs\1_Selenium SEPA-Test\Attempt1\1_Start VM's\Release\1_Initialize Agent.log, действительно существует в папке zip в эквивалентном месте ...

Expand-Archive в powershell не может извлечь вложенные папки и файлы

После завершения сценария я вижу незавершенную папку в указанном каталоге.

Expand-Archive в powershell не может извлечь вложенные папки и файлы

Что тут происходит?

Спасибо,

Что, если вы просто переместите -DestinationPath в другую папку?

trebleCode 30.04.2018 21:42

К сожалению, не помогает

Konzy262 30.04.2018 23:03

Вы можете использовать 7z e? Для его запуска есть сценарий PowerShell.

lloyd 01.05.2018 04:32

Возможно, проблема связана с вашим архивом: github.com/PowerShell/Microsoft.PowerShell.Archive/issues/12 Эта проблема, похоже, теперь исправлена, поэтому вы можете обновить Powershell, если вы используете более старую версию.

James C. 01.05.2018 11:27

Я использую powershell 5.1. Мне удалось собрать решение, используя 7z e

Konzy262 02.05.2018 08:39
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
5
9 243
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

У меня были проблемы с этим модулем в прошлом, и мы с коллегой собрали следующие

# This script was created to extract the contents of multiple ZIP files located in a directory
# structure. Each ZIP files is extracted within the folder it resides.

# File path
$filepath = Get-ChildItem -Path 'C:\Users\Luke\Desktop\ArchivedScripts\' -Filter *.zip -Recurse

# convert filepath to NameSpace object
$shell = new-object -com shell.application

# ForEach Loop processes each ZIP file located within the $filepath variable
foreach($file in $filepath)
{
    $zip = $shell.NameSpace($file.FullName)
    foreach($item in $zip.items())
    {
        $shell.Namespace($file.DirectoryName).copyhere($item)
    }
    Remove-Item $file.FullName
}

Может быть, это пригодится?

Добавление -force к команде сработало для меня.

Я была такая же проблема. Эта проблема возникает, если пути к экспортируемым файлам слишком длинные.

Я не вижу подтверждения "слишком долгого" пути в вопросе.

Anton Menshov 14.06.2019 03:39

У меня такая же ошибка, и у меня она сработала, когда я удалил двойные кавычки для пути к ZIP-файлу.

Например :

$FolderPath = "C:\Temp\Whatever"

Expand-Archive -Path $ FolderPath \ logs.zip -DestinationPath "$ FolderPath \ logs"

Whats going on here?

Expand-Archive терпит неудачу при попытке расширить некоторые файлы (в моем случае это было из-за слишком длинного пути) и пытается удалить файлы, которые, по его мнению, были извлечены (см. https://github.com/PowerShell/Microsoft.PowerShell.Archive/blob/master/Microsoft.PowerShell.Archive/Microsoft.PowerShell.Archive.psm1#L418), но Remove-Item не может найти никаких файлов, поскольку они не были фактически извлечен.

Переход на PowerShell 7 устранил для меня проблему с длинным путем.

Другие вопросы по теме