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

求助:AHK脚本Unzip函数无法解压指定文件

解决AHK脚本Unzip函数调用失败问题
  • 确认Unzip函数已正确定义
    AutoHotkey无原生Unzip()函数,直接调用会报错。需先实现该函数,以下是两种可行方案:

方案一:利用Windows内置Shell对象解压(无需额外软件)

Unzip(zipPath, destPath) {
    ; 确保目标目录存在
    if !FileExist(destPath)
        DirCreate(destPath)
    ; 创建Shell应用对象
    shell := ComObjCreate("Shell.Application")
    ; 获取压缩包文件列表
    zip := shell.NameSpace(zipPath)
    ; 获取目标目录对象
    dest := shell.NameSpace(destPath)
    ; 执行解压(参数16表示覆盖现有文件)
    dest.CopyHere(zip.Items(), 16)
    ; 等待解压完成(避免脚本提前终止)
    Sleep, 2000
}

方案二:使用7-Zip命令行解压(需提前安装7-Zip)

Unzip(zipPath, destPath) {
    ; 7-Zip默认安装路径,可根据实际情况修改
    sevenZipPath := "C:\Program Files\7-Zip\7z.exe"
    if !FileExist(sevenZipPath) {
        MsgBox, 未找到7-Zip,请检查安装路径!
        return
    }
    ; 确保目标目录存在
    if !FileExist(destPath)
        DirCreate(destPath)
    ; 执行解压命令,-y表示自动确认覆盖
    RunWait, %sevenZipPath% x "%zipPath%" -o"%destPath%" -y,, Hide
}
  • 检查路径有效性

    • 验证压缩包路径C:\Users\Ricardo\Desktop\Add_Polo_Plano.zip是否真实存在,无拼写错误
    • 确认目标路径C:\Bots\Add_Polo_Plano具备写入权限,若路径不存在,需提前创建(上述示例已包含目录创建逻辑)
  • 排查权限问题
    若脚本无管理员权限,可能无法写入C:\Bots目录,右键脚本选择「以管理员身份运行」测试。

  • 特殊字符与编码检查
    确保压缩包及路径中无特殊非英文字符,若存在,尝试使用短路径或调整编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:50:20