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

PowerShell批量解压多份Zip压缩包时出现脚本错误的问题咨询

问题原因
  • 核心错误是-DestinationPath参数的变量引用写法不符合PowerShell语法规则:你写的"{$zip.BaseName}"中,大括号被识别为路径的字面量字符,同时双引号内直接引用变量属性时没有使用$()子表达式运算符,PowerShell仅会展开$zip变量本身,后续的.BaseName会被当做普通字符串拼接,最终传入的是无效路径。
  • 第一次解压成功属于巧合,通常是因为首次解析时错误生成的路径刚好和预期路径部分匹配,后续循环时路径完全失效,所以仅能创建空文件夹但无法写入解压内容。
修复方案

修正参数写法即可,以下是可用的完整脚本:

$archives = Get-ChildItem . -Filter *.zip
foreach($zip in $archives)
{
    Expand-Archive -Path $zip.FullName -DestinationPath $zip.BaseName -Force
}

修正点说明:

  • 去掉了参数中多余的大括号和错误的引号包裹,直接传递$zip.BaseName属性值作为目标路径
  • 新增-Force参数,当目标文件夹已存在时会直接覆盖写入,避免存在残留空文件夹时抛出已存在错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:04