Распаковать архив в традиционную структуру папок

При попытке распаковать файлы традиционно в Windows, он распаковывает файл с именем zip как папку с файлами, встроенными в саму папку. Я не могу воссоздать это с помощью командлета Extract-Archive. Вот фрагмент кода, который у меня есть: Get-ChildItem 'path of zip' -Filter *.zip | Expand-Archive -DestinationPath 'path to extract' -Force Во время этого процесса распаковка работает нормально. Мне просто интересно, есть ли способ сохранить традиционную структуру файлов / папок распаковки при использовании командлета Expand-Archive

Спасибо


person MyWritingBlock    schedule 05.01.2021    source источник
comment
этот вопрос лучше всего задать на superuser.com   -  person snowcode    schedule 05.01.2021


Ответы (1)


Папку назначения можно указать в параметре DestinationPath. Если папка с именем zip-файла еще не существует, она будет создана:

$sourcePath  = 'path of zip file(s)'
$destination = 'path to extract'

Get-ChildItem -Path $sourcePath -Filter '*.zip' -File | ForEach-Object {
    $target = Join-Path -Path $destination -ChildPath $_.BaseName
    $_ | Expand-Archive -DestinationPath $target -Force
}
person Theo    schedule 05.01.2021