Развернуть-Архив в PowerShell не удается извлечь вложенные папки и файлы - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть следующий простой 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 в эквивалентном месте ...

enter image description here

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

enter image description here

Что здесь происходит?

Спасибо

Ответы [ 4 ]

0 голосов
/ 14 июня 2019

Я получил ту же ошибку, и она сработала для меня, когда я удалил двойные кавычки для ПУТИ ФАЙЛА ZIP.

Например:

$FolderPath = "C:\Temp\Whatever"

Развернуть-Архив -Path $ FolderPath \ logs.zip -DestinationPath "$ FolderPath \ logs"

0 голосов
/ 18 января 2019

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

0 голосов
/ 14 июня 2019

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

0 голосов
/ 01 мая 2018

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

# 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
}

Возможно, это имеет какое-то значение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...