You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Windows PowerShell提取嵌套文件夹中的所有Zip文件

解决PowerShell递归提取所有子文件夹Zip文件并统一解压的问题

你的命令失效的核心原因是没有递归遍历子文件夹,Get-ChildItem C:\Toolbase\zip_test\*zip仅会扫描目标目录的根层级,不会深入到folder-B、folder-D这类子文件夹里查找Zip文件。

基础解决方案(统一解压到指定文件夹)

执行以下命令即可遍历所有子文件夹的Zip文件,并将内容全部解压到目标目录:

Get-ChildItem -Path C:\Toolbase\zip_test -Filter *.zip -Recurse | ForEach-Object {
    Expand-Archive -Path $_.FullName -DestinationPath C:\Toolbase\zip_test\unzipped -Force
}

各参数说明:

  • -Recurse:强制Get-ChildItem遍历目标目录下的所有子层级文件夹
  • -Filter *.zip:精准筛选Zip格式文件,比通配符匹配更高效
  • ForEach-Object:逐个处理每个找到的Zip文件,避免批量传递可能的异常
  • -Force:如果目标目录存在同名文件,直接覆盖(不需要覆盖可移除该参数,冲突时会报错提示)

进阶方案(避免文件重名覆盖)

如果担心不同Zip文件内有同名文件导致覆盖,可以给每个Zip单独创建子文件夹存放解压内容:

Get-ChildItem -Path C:\Toolbase\zip_test -Filter *.zip -Recurse | ForEach-Object {
    # 用Zip文件名作为子文件夹名称
    $destSubFolder = Join-Path -Path C:\Toolbase\zip_test\unzipped -ChildPath $_.BaseName
    Expand-Archive -Path $_.FullName -DestinationPath $destSubFolder -Force
}

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 21:30:18