7-Zip搭配AutoHotKey快速解压到同名文件夹

之前一直在使用Bandizip,很喜欢「智能解压(自动解压)」的功能

与「解压到『文件夹』」功能不完全相同,详见

Bandizip - 如何使用自动解压
压缩软件中的“智能解压”功能是什么?

今天突然脑抽卸载了Bandizip,安装了久仰了7-Zip,发现在Windows 11上右键菜单想使用「解压到『文件夹』」是如此的繁琐,直接打开压缩包提取又会直接提取到压缩包所在目录,很是乱七八糟。

便开始搜寻快捷方法。首先是适配了Windows 11新版右键菜单的Nanazip,很好,但我不到万不得已不喜欢二次开发;然后搜索到有人企图使用AutoHotKey实现「Ctrl + Alt +左键」选中压缩包实现解压,我尝试复现但失败了。

最后我选择退而求其次,首先选中压缩包,使用快捷键直接解压的方式。

!x::
  ; 复制选中文件
  SendInput, ^c
  Sleep 50
  ; 读取剪贴板选中文件路径
  SelectedFile := Clipboard
  ; 创建文件同名文件夹变量
  dirAndFileName := SubStr(SelectedFile, 1, InStr(SelectedFile, ".", 0, -1) - 1)
  ; 解压到文件同名文件夹下
  RunWait, 7z x "%SelectedFile%" -o"%dirAndFileName%" -y
return

好耶!Alt键附近的字母快被用光了 :rofl:

Bandizip 的自动解压真的是用了就离不开的功能!!!

我是右键拖放一小段距离然后松开,右键拖放的菜单极其精简,还有7z的完整菜单(折叠)
拖放菜单是尚未被微软整残的净土 :joy:

1 个赞

我一般会双击查看一下压缩包内部结构再决定是解压到当前文件夹还是压缩包同名文件夹

看压缩包里面内容也行
还可以判断是否有文件夹,有文件直接解压,没有文件夹看压缩包里面文件数量,数量多解压到文件夹,或者添加另外一个无论任何情况解压到当前文件夹的脚本

记得前阵子Window系统内置支持7Z的新闻吗,它调用的是一个开源库。AutoHotkey调用那个库也非常简单,所谓智能解压不过是获取文件列表进行一个简单判断而已。

但只有Bandizip做了这个所谓的智能解压

那你不需要卸掉它

才发现这个。精简好用

我也是先看看内容。文件在顶层的和内置文件夹的直接拖放,如果很多顶层文件,再用右键解压缩。日常拖放用的更多些。
反思了一下为什么要这么操作,原因是好多压缩包我并不需要里面的全部文件,只需要一部分,所以必须先手动查看一下。

个人实现有很多,比如论坛里的这个:

如果在使用 Directory Opus 的话,也可以用我写的脚本来实现:

1 个赞

Bandizip的智能解压确实很省事