Mac系统下通过命令行解密解压加密.zip文件的方法
解决Mac命令行解压AES加密Zip文件的方案
方法1:使用系统自带的ditto命令
ditto是Mac原生工具,支持Finder能处理的所有压缩格式(包括AES加密的Zip,也就是报错里的压缩方法99),执行以下命令即可:
ditto -V -x -k targetfile.CSV.zip ./解压目标目录
参数说明:
-V:显示详细解压过程-x:启用解压模式-k:指定处理Zip格式./解压目标目录:替换为你想要存放解压文件的路径,用./表示当前目录
执行后终端会提示输入密码,输入正确密码就能完成解压。如果不需要保留Mac特有的资源文件,命令可简化为:
ditto -x -k targetfile.CSV.zip ./解压目标目录
方法2:调用系统Archive Utility的命令行接口
Finder使用的解压工具是Archive Utility,可通过open命令直接唤起它处理文件:
open -a "Archive Utility" targetfile.CSV.zip
执行后会弹出Archive Utility的密码输入窗口,输入密码后自动解压到当前目录。
如果需要无交互自动输入密码(仅在可控环境使用,避免密码明文泄露),可配合AppleScript:
osascript -e 'tell application "Archive Utility" open POSIX file "/文件完整路径/targetfile.CSV.zip" delay 2 tell application "System Events" keystroke "你的密码" keystroke return end tell end tell'
注意:delay的时间需根据系统响应速度调整,且密码明文写入命令存在安全风险,谨慎使用。
原因说明
压缩方法99对应AES-256加密,Mac系统原生解压工具(Finder、ditto、Archive Utility)均支持该加密格式,但传统的unzip命令不兼容AES加密,因此会出现报错。
内容的提问来源于stack exchange,提问作者J.C.
相关产品推荐
相关产品推荐

