7-zip窗口中的几个“当前窗口打开”有什么区别吗?


如图,上面三个“当前窗口打开”的效果都是无视文件关联,直接在当前的7-zip窗口将该文件视为压缩包打开。
网上没找到讨论的,官网FAQ也没说明,帮助文件中也看不明白:

实际上你用后两个菜单打开一个 exe 文件就看出不同了。
第一个第二个菜单此时貌似是一样的(我之前喜欢在exe上用 7z 右键“提取到…”来尝试能否绿化软件,好像就是这个功能)。
第三个菜单根据其解释“ It shows the list of archives inside file”,似乎是显示文件中的包含的档案。

菜单2:

菜单3

1 读取文件后缀和文件头信息,按标注格式打开
2 * 将文件视为一个单层容器打开
3 # 解析文件数据,并在其中寻找包含的文件头
4 #:e 解析文件数据,并在其中寻找包含的所有文件头

可以用7z打开 mkv、cab、exe以及双层、三层压缩包试试,其实不一样的

“单层容器”是啥意思,试了好多种压缩包好像这和菜单“1”的效果完全一样;

这似乎是能分析出文件中含有的压缩包(例如将压缩包拼到图片文件中),对多层包的话除了当前层所含压缩包外就是当前层的文件头;有趣的是zip和7z包的文件头都是无扩展名的,但rar会分析出exe的文件头……

没见到这菜单项,还是这是菜单“3”打开特定文件时的效果?

两层、三层zip、7z压缩包试过了,菜单“1”和菜单“2”没发现区别(也不会递归解包);
mkv文件用右键菜单,提示无法用7-zip打开,在7-zip窗口中上述菜单项都没反应;
cab文件和普通压缩包的效果一致;
exe文件不同内部结构会有不同效果,其中菜单“2”会类似EXEscope那样拆出资源结构,而菜单“1”有时是和“2”一样,有时会全是数字名无扩展名的文件,而对自解压包“1”正确显示包内容而“2”不会。

你当作一个箱子来理解吧,打开箱子,看里面是一坨xx、一滩xx,或是若干有明确形状的物体(有起始标志的文件数据流)


1会按文件头的标志来开启箱子
2会当作把整体当作一个箱子,瞎拆
3则是默认这是一滩xx,强行在里面找出丁点头绪
这种方式找到往往是错误的文件,就像是在apple 中找到一个app,名字叫le
4的症状更严重,它还会在app里找到一个ap,名为p :doge:

我也很好奇作者开发3、4的具体的、有价值的使用场景在哪 :joy:

嗯…非标准格式的压缩包(比如上面说到的一部分是zip、7z或者其他压缩包数据的文件就可以用这个办法打开,我最常用的是拿来解包打包的单文件程序、安装包之类的