首页 > 解决方案 > Powershell 将文件解压缩到特定文件夹中

问题描述

我正在尝试解压缩一组看起来像这样的文件夹

a.zip
b.zip
c.zip

进入一个名为“extracted”的文件夹,并将其内容提取到相同的各自名称中。

a folder
b folder
c folder

我正在使用以下代码,基于我想使用 powershell 提取 temp 中给定目录中的所有 .zip 文件

Get-ChildItem $foldername -Filter *.zip | Expand-Archive -DestinationPath $foldernameExtract -Force

它会提取到提取文件夹中,但每个 zip 中的项目都是以“在此处提取”方法完成的,而不是在提取文件夹中的“提取到文件夹”中。

想知道是否有办法整理它们?

标签: powershell

解决方案


将您的代码更改为以下内容。

Get-ChildItem $foldername -Filter *.zip | ForEach-Object {Expand-Archive $_.FullName "$foldernameExtract\$($_.Basename)" -Force}

您需要遍历每个 zip 文件并使用其名称以及完整路径将它们保存到其中。


推荐阅读