提取嵌套档案以获取内容

问题描述 投票:1回答:1

我嵌套了要提取的档案,它具有以下格式,因此archive1.zip是主要的其他档案相互嵌套,我需要提取文件夹目录。

  • archive1.zip/
    • archive2.tar /
      • archive3.7z /
        • 文件夹/
          • file.txt

我尝试了以下方法:

Get-ChildItem -Path $path -Recurse | ForEach-Object { $_.FullName } | Split-Path | Get-Unique |

ForEach-Object { cd $_; 7z x * -r -aou  -o"$path" }

但是我只能得到archive2.tar作为输出

powershell zip extract unzip 7zip
1个回答
0
投票

我设法通过如下所示的循环来执行此操作:提取存档,然后删除它,依此类推。

$files = Get-ChildItem -Path $path
$extension = ".tar|.zip|.7z"

1..3 | % {

$zip = Get-ChildItem -Path $path -File  | where {$_.Extension -match $extension} | ForEach-Object { $_.Name }
$files | ForEach-Object { $_.FullName } | Split-Path | Get-Unique |
ForEach-Object { Set-Location $_; 7z x * -aou -o"$path"; Remove-Item $zip}

}
© www.soinside.com 2019 - 2024. All rights reserved.