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

使用WZUNZIP.EXE命令行在PowerShell中解压出现冗余结构问题

问题描述

我有一个名为LatestFiles_20241130031004.zip的压缩文件,需解压至LatestFiles_20241130031004文件夹。该压缩包结构如下:

LatestFiles_20241130031004.zip
----Folder A
----Folder B
---------Folder 1
----------File 1
----------File 2

执行以下PowerShell代码:

& $WinZipexe\WZUNZIP.EXE -d  "E:\TEMP\folder\LatestFiles_20241130031004.zip" "E:\TEMP\folder\" 2> $null

得到的解压结果存在冗余结构:

LatestFiles_20241130031004
----Folder A
----Folder B
---------Folder 1
----------File 1
----------File 2
----Folder 1
----LatestFiles_20241130031004
--------Folder A
--------Folder B
-----------Folder 1
--------------File 1
--------------File 2
----File 1
----File 2

而期望的正确解压结果为:

LatestFiles_20241130031004
----Folder A
----Folder B
---------Folder 1
----------File 1
----------File 2

该命令在命令提示符(CMD)中直接执行结果正常,但在PowerShell中执行异常,需要解决思路。

解决思路
  1. 修正目标路径格式
    去掉目标路径末尾的反斜杠,PowerShell对路径末尾反斜杠的解析逻辑和CMD存在差异,可能导致路径识别异常。修改后的命令:

    & $WinZipexe\WZUNZIP.EXE -d "E:\TEMP\folder\LatestFiles_20241130031004.zip" "E:\TEMP\folder" 2> $null
    
  2. 直接指定目标文件夹
    明确将解压路径指向期望的LatestFiles_20241130031004文件夹,避免程序自动推断路径时生成冗余结构:

    & $WinZipexe\WZUNZIP.EXE -d "E:\TEMP\folder\LatestFiles_20241130031004.zip" "E:\TEMP\folder\LatestFiles_20241130031004" 2> $null
    
  3. 通过CMD中转执行
    既然CMD下执行正常,可在PowerShell中调用CMD运行解压命令,规避PowerShell的参数解析差异:

    cmd /c "$WinZipexe\WZUNZIP.EXE -d ""E:\TEMP\folder\LatestFiles_20241130031004.zip"" ""E:\TEMP\folder\""" 2> $null
    

    注意用双引号嵌套(两个双引号代表一个双引号)保证路径参数正确传递。

  4. 使用Start-Process调用外部程序
    PowerShell的Start-Process能更精准控制外部程序的参数传递,避免参数解析混乱:

    Start-Process -FilePath "$WinZipexe\WZUNZIP.EXE" `
      -ArgumentList '-d', 'E:\TEMP\folder\LatestFiles_20241130031004.zip', 'E:\TEMP\folder\LatestFiles_20241130031004' `
      -NoNewWindow -Wait -RedirectStandardError $null
    

    -NoNewWindow确保在当前窗口执行,-Wait等待解压完成,-RedirectStandardError屏蔽错误输出。

  5. 检查WinZip参数顺序
    确认wzunzip的语法为wzunzip [options] zipfile [target-path],确保-d选项放在最前面,压缩包路径和目标路径顺序正确,避免PowerShell对参数顺序的误解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 13:43:14