我发现 7z 有一些奇怪的行为。我使用以下命令创建了一个存档:
7za.exe a "zip_test.zip" -r "C:\zip_test\*" -p"abc123"
当我使用 7z GUI 打开存档zip_test.zip
并尝试提取文件时,系统会按预期要求我输入密码,但是当我在同一个存档上运行以下命令时,所有顶层的文件和目录都会被提取,而无需我提供密码,并且只有在 7z 开始处理更深的级别(即不是顶层)后,即顶层文件已经被提取之后,才会提示我输入密码:
7za.exe x -y -o"C:\zip_test" "C:\zip_test.zip"
我知道 zip 格式在密码保护方面有局限性,但我希望 7z GUI 和 7z 命令行在同一个存档上的行为相同。使用 7z 格式时我没有看到这种行为。
如果能对这里发生的事情作出一些澄清就好了。
答案1
我无法重现该问题,并且您可能错过了一些细节。
文件不会被提取,只会创建零大小的占位符文件,等待输入密码。
如果没有输入密码,或者使用了错误的密码,文件将保持为零大小。
子文件夹无法受密码保护,因此创建时无需密码。