每当我使用 7-Zip 提取档案时,它都会执行两步操作。首先,它将档案的内容提取到临时文件夹,然后 Windows 将文件从临时文件夹复制到目标目录。
此操作的第二部分可能需要一些时间,尤其是当存档中有大量小文件时。如果 7-Zip 一开始就直接将文件提取到目标目录,似乎可以加快操作速度。有没有办法让它这样做?
答案1
哎呀!我真的应该更努力地寻找答案。
来自7-Zip 常见问题解答:
为什么从 7-Zip 拖放存档提取到 Explorer 会使用临时文件?
7-Zip 不知道放置目标的文件夹路径。只有 Windows 资源管理器知道确切的放置目标。并且 Windows 资源管理器需要文件(拖动源)作为磁盘上的解压文件。因此 7-Zip 将文件从存档中提取到临时文件夹,然后 7-Zip 通知 Windows 资源管理器这些临时文件的路径。然后 Windows 资源管理器将这些文件复制到放置目标文件夹。
为了避免使用临时文件,您可以使用 7-Zip 的 Extract 命令或从 7-Zip 拖放到 7-Zip。
答案2
您可以F9在 7-Zip 中按下,然后会出现两个窗格。在第一个窗格中,您可以导航到要提取的存档,在第二个窗格中,您可以导航到要提取文件的文件夹。这将跳过临时文件夹步骤。
答案3
逐步将内容.7z
直接提取到目标文件夹中:
.7z
在 7zip GUI 中 打开文件.7z
显示里面的内容
- 点击
— Extract
按钮 Copy
窗口打开- 点击
...
(浏览)按钮 Browse for folder
窗口打开- 选择目标文件夹
- 点击
OK
关闭Browse
窗口
- 撞入窗户
OK
Copy
- 点击
- 提取直接开始进入目标文件夹
答案4
我可以在这里确认每个“解决方案”(已使用 32 位和 64 位变体进行了测试),我想补充一点:在应用程序之间移动时,拖放始终是一个两步解决方案,即使是在同一个开发生态系统中的应用程序,如 Microsoft 或 Adobe 标题,也没有办法解决这个问题。原因不会让你感到惊讶。通过拖放在它们之间移动文件时,不同的应用程序不会直接相互通信。无论您使用哪种操作系统,此功能都由操作系统处理。在 Windows 上,FileExplorer 将接管 App-A(正在发送),并获取它正在使用的文件的链接 - 如果文件尚不存在,您将有机会在某些应用程序中保存文件,其他应用程序会在您指定的空间中创建临时文件或使用系统临时缓存 -;然后 App-B(正在接收)将使用此链接。压缩存档只是需要解乱并解压缩到存档包含的文件中的一些位的集合。当您从 7zip 拖放到 FileExplorer 窗口时,这些文件必须先解压到临时位置,因为它们尚不存在,然后才能移动它们。这是因为 7zip 不会扩展 FileExplorer,它是一个单独的应用程序。但是,在两个 7zip 窗口之间进行拖放不需要这个临时空间,它可以直接在内存中完成所有操作。使用 EXTRACT 函数并为其提供文件转储路径可以找到相同的功能。但是,如果您想避免临时缓存,则不应移动或复制。同样,这些会创建一个临时工作副本,然后将其移动到您指定的路径。您仍然可以选择不同类型和大小的单个或多个项目,然后提取它们,或拖放到另一个 7zip 窗口中。