谢@孤独患者邀。
@孤独患者的理解是基本正确的。
这其实只取决于解压软件的具体实现,并没有什么太多原理上的原因。
当你把文件从压缩软件中「拖」出的时候,压缩软件并不知道被拖到了那里,只是接收了 Windows 发来的给定一个拷贝源的请求,所以必须要解压到某个地方,通常是临时文件夹,然后由 Windows 来完成移动到目标文件夹的工作。
另外,有一些特殊情况也会解压到临时文件夹,比如你直接双击打开了压缩包中的文件运行的话,压缩软件依然要解压所有文件(除了一些确保可以独立运行的后缀以外),这时候只能解压到临时文件夹。
还有就是目标文件夹来源是一个可移动介质,比如 U 盘。为了考虑到目标介质对于解压过程中动态的写入可能会连接不稳定以及闪存颗粒寿命等一系列因素,通常也会先解压到临时文件夹再拷贝进去。