在Mac / Linux压缩/解压缩密码保护的zip文件,我使用:邮编:
zip -P password -r encrypted.zip folderIWantToZip
解压缩:
unzip -P password encrypted.zip
Windows上的命令行上的等效命令是什么(假设已经安装了7zip)?
我一直在研究,发现使用Java zip4j库进行密码encryption是不可能的。 另外Windows没有像Mac / Linux这样的zip命令提示符
7z a secure.7z * -pSECRET
哪里:
7z : name and path of 7-Zip executable a : add to archive secure.7z : name of destination archive * : add all files from current directory to destination archive -pSECRET : specify the password "SECRET"
打开 :
7z x secure.7z
然后提供SECRET密码
注意: 如果密码包含空格或特殊字符,请将其括在一对引号中
7z a secure.7z * -p"pa$$word @'|"
一般语法:
7z a archive_name target parameters
检查你的7-Zip目录。 根据你的版本, 7z可能会被语法中的7za替换。
参数:
例如。 这将提示输入一个PW并隐藏文件结构:
7z a archive_name target -p -mhe=on
例如。 没有提示,可见的文件结构:
7z a archive_name target -pPUT_PASSWORD_HERE
等等。 如果你把目标留空,7z会在当前目录下设置*,默认情况下它会复制目录。
我也许有点晚,但我目前正在试图开发一个程序,可以暴力强制密码保护的压缩档案。 首先,我尝试了所有我在互联网上找到的命令,通过cmd提取它…但它从来没有工作….每次我尝试了,CMD输出说,关键是错的,但它是正确的。 我认为他们只是在当前版本中禁用了这个功能。
我所做的解决这个问题的方法是下载一个较旧的7zip版本(4.),并通过cmd来解压。
这是命令:“C:/ Program Files(86)/old7-zip/7z.exe”x -pKey“C:/ YOURE_ZIP_PATH”
第一个值(“C:/ Program Files(86)/old7-zip/7z.exe”)必须是安装旧的7zip的路径。 x是提取和-p因为你是密码。 确保你把你的密码没有任何空格后面的-p! 最后一个值是您的zip存档提取。 zip解压到的目标将是cmd的当前路径。 你可以改变它:cd YOURE_PATH
现在我让我的密码执行通过Java执行此命令。 然后我检查错误输出流的CMD,如果它是null – >那么密码是正确的!
要完全脚本自动化:
创建:
7z -mhc=on -mhe=on -pPasswordHere a %ZipDest% %WhatYouWantToZip%
解压缩:
7z x %ZipFile% -pPasswordHere
(可能需要:Set Path = C:\ Program Files \ 7-Zip;%Path%)