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

**URL:** <https://meta.appinn.net/t/topic/60669>\
**Category:** 问题求助\
**Tags:** 解压缩, 文件管理, 7-zip\
**Created:** [2024 年9 月 5 日 03:37 UTC](https://meta.appinn.net/t/topic/60669 "2024-09-05T03:37:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

作者： ![hzhbest](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/e9a140/32.png) [@hzhbest](https://meta.appinn.net/u/hzhbest)\
发布日期： [2024 年9 月 5 日 03:37 UTC](https://meta.appinn.net/t/topic/60669/1 "2024-09-05T03:37:49Z")

</div>

[![](https://h1.appinn.net/file/8b63b607350ffafb7f67b.jpg) ](https://h1.appinn.net/file/8b63b607350ffafb7f67b.jpg)  
如图，上面三个“当前窗口打开”的效果都是无视文件关联，直接在当前的7-zip窗口将该文件视为压缩包打开。  
网上没找到讨论的，官网FAQ也没说明，帮助文件中也看不明白：  
 ![](https://h1.appinn.net/file/af9468348f6abbff37c7d.jpg)

---

<div class="post-metadata">

作者： ![xmmdg](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xmmdg/32/49001_2.png) [@xmmdg](https://meta.appinn.net/u/xmmdg)\
发布日期： [2024 年9 月 5 日 10:52 UTC](https://meta.appinn.net/t/topic/60669/2 "2024-09-05T10:52:53Z")

</div>

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

菜单2：  
[![](https://h1.appinn.net/file/c917eea8da75d6316d9f1.jpg) ](https://h1.appinn.net/file/c917eea8da75d6316d9f1.jpg)  
菜单3  
[![](https://h1.appinn.net/file/230f7cc34dcd7d17a9b2b.jpg) ](https://h1.appinn.net/file/230f7cc34dcd7d17a9b2b.jpg)

---

<div class="post-metadata">

作者： ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
发布日期： [2024 年9 月 5 日 11:03 UTC](https://meta.appinn.net/t/topic/60669/3 "2024-09-05T11:03:34Z")

</div>

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

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

---

<div class="post-metadata">

作者： ![hzhbest](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/h/e9a140/32.png) [@hzhbest](https://meta.appinn.net/u/hzhbest)\
发布日期： [2024 年9 月 6 日 06:29 UTC](https://meta.appinn.net/t/topic/60669/4 "2024-09-06T06:29:29Z")

</div>

> [@allor](#):
>
> 2 \* 将文件视为一个单层容器打开

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

> [@allor](#):
>
> 3 # 解析文件数据，并在其中寻找包含的文件头

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

> [@allor](#):
>
> 4 #:e 解析文件数据，并在其中寻找包含的所有文件头

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

> [@allor](#):
>
> 可以用7z打开 mkv、cab、exe以及双层、三层压缩包试试，其实不一样的

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

---

<div class="post-metadata">

作者： ![allor](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/allor/32/1268_2.png) [@allor](https://meta.appinn.net/u/allor)\
发布日期： [2024 年9 月 6 日 15:22 UTC](https://meta.appinn.net/t/topic/60669/5 "2024-09-06T15:22:30Z")

</div>

> [@hzhbest](#):
>
> “单层容器”是啥意思

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

* * *

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

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

---

<div class="post-metadata">

作者： ![3\_5105](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/3_5105/32/57748_2.png) [@3\_5105](https://meta.appinn.net/u/3_5105)\
发布日期： [2024 年9 月 11 日 15:36 UTC](https://meta.appinn.net/t/topic/60669/6 "2024-09-11T15:36:09Z")

</div>

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