Calon 在小众软件 Group 问了这样一个问题:
有这样的 AHK 脚本吗?
1、让 TC 实现一键解压到当前目录;
2、自动判断是解压到当前文件夹还是到新建目录,取决于压缩包内是目录还是大量文件;
不仅仅是 TC 用户,其实很多人都需要这样一个脚本,可以智能地解压缩。我自己经常弄软件下来玩,所以经常遇到 Calon 的问题。直到他提出,我才想起来,为什么不用 AHK 呢?
update:看到读者的留言。我还是要废话一下。假如一个压缩包里面有大量文件,SmartUnZip 会在当前以压缩包名字新建一个文件夹,把它们解压到里面;加入里面只有一个文件夹,SmartUnZip 直接解压到当前文件夹;如果压缩包只有一个文件也会新建一个文件夹。
SmartUnZip 用 7z 的命令行来解压缩。双击 Install.exe 就可以安装到“发送到”菜单。用法如下图:
运行后,压缩包所在的文件夹就会出现以压缩包名字命名的一个文件夹。可以一口气处理多个压缩包。
下载:请移步这里下载最新版。
P.S.1 本来想弄个智能关联压缩包的右键菜单的。结果弄了半天太麻烦了,就没弄。Helfee 提供了一个方便的思路,但有 bug。顺便感谢 Helfee 的测试。
如果有热心读者想帮忙弄的话。热烈欢迎。
P.S.2 7-zip 命令行中文说明
![SmartUnZip 智能解压缩[图] | 小众软件 SmartUnZip 智能解压缩[图] | 小众软件](http://img1.appinn.com/2009/172855f144c0/medium.jpg)




31 Comments:
SF!!!
回复
这也可以。。
回复
啊啊…
没位置了
回复
自夸一句,那几个图标太帅了。
回复
别自我膨胀了,都不统一大调,旧瓶新酒。。
回复
S的那个还不错
回复
除了GMail那个不错(貌似可再改进,将上面白O状改成一缺口G状,没看到大图标不敢说肯定)其它图标都不咋样。
回复
甚好!懒人有福了~
回复
建议用变量设置!不一定大家都是用“C:\Documents and Settings\用户名\SendTo”。
回复
我就是用变量写的。
回复
怎么那么麻烦,直接定义热键解压好了。
火山,脚本代码呢?太绝了吧,弄成EXE了。。。
回复
不是每个人都喜欢用快捷键
回复
关于代码也没什么。关键是人的逻辑。
回复
省得又被抄。
回复
你自己打包的时候还有两个文件夹呢。
应该在根目录全选所以文件再打包。将整个文件夹打包只会在解压的时候多一层文件夹。。。
回复
我打包的时候有两个文件夹?阿门同学。你看错了。我又回头去看我的压缩包,只有一层文件夹。
你没看明白,这个不是单纯解压。
2、自动判断是解压到当前文件夹还是到新建目录,取决于压缩包内是目录还是大量文件;
回复
来看代码的……学习学习转成 AU3,不过……
回复
没提供代码。嘿嘿。
回复
“可以一口气处理多个压缩包”,这个很有吸引力,收藏了,谢谢!
回复
自己一般这样做
Alt+F9,Backspace,Alt+s,Enter
搞定,解压到当前tab下同名文件夹
回复
另,好像可以用TCscript做到菜单项里,关联个快捷键什么的
回复
你这个做法不能根据文件多少判断。我这个是写给有需要的朋友的。
回复
你什么时候用熟了TC就不说这种话了
回复
每个人都有自己的习惯和喜好。我没用过 TC 也不打算用 TC。你习惯了 TC,习惯按下一堆快捷键;而我喜欢用 ahk,习惯用发送到。
回复
对与上面的话,我表示道歉,因为我没用过 TC。乱猜乱下定论是我不对。抱歉。
回复
你这样做站长,还开放回复干嘛
这么NB的人,干脆自己单机建个blog,自娱自乐多好
你不习惯快捷键是你的事,我什么时候逼你用TC了
不过我总在问自己,ahk为什么要叫做Auto HOTKEY,怎么不能叫Auto MouseClick呢
我表示抱歉,吃完午饭撑的慌跑过来看你的网站还回复你的文章是我不对。抱歉。
回复
我用F1解压,通过hoekey的发送按键,当然,不智能。
回复
来晚了
回复
http://i.namipan.com/files/fc03fa1d7dd63bc31e9d944145bb72279a9b2e9b943900003404/0/2ml.png
给你截图下来,人赃俱获吧,啊哈哈哈。。。
目录层次为:SmartUnZip%40appinn.com.7z\SmartUnZip\
哼,鄙视不提供脚本的,还给EXE加密码~
回复
你用 SmartUnZip 解压的?昨晚的有严重 bug,已经重新传过了。建议重新下载。
或者我理解错了。
小众都是这样打包的。压缩包里面是一个文件夹,加上压缩包当然被你算两个啦。
小众的压缩包你只要,右键解压到当前目录。嘿嘿。
另关于邮件回复的问题。是我不对。我不该发那么多个。话应该一口气说完。给你造成不便。抱歉。
因为有些读者期待我们作者回复他。而他又可能会忘记回来看。所以自动发到他邮箱。你只需要去邮箱看回复就 ok 了。
回复
你这个评论回复通知到邮箱也太恐怖了。没个评论一个邮件。想让我删邮件删到手瘫啊。。。
回复
用 Gmail 就不会出现这样的惨状啦。Gmail 会把同标题的合并为一个邮件。嘿嘿。
回复
ThunderBird 按话题排序:
回复
晕死……门,你又得多删除一封邮件了……可恶的 SPAM 插件又把我的留言过滤了……
TB 效果图:http://lh5.ggpht.com/runningwaterpro/SI6zPTD9JkI/AAAAAAAAAzk/yjIH6ktfYOI/2008-07-29_140159.png&imgmax=640
回复
二猪同学,你又不是作者。你的留言是不是发送到阿门的邮箱的。
回复
哦,我以为他订阅了呢……
回复
噢,积累小步走的小众软件
回复
可以再增加一个判断方法:当前目录不同类型的文件很多,比如有.rar.exe.txt.dll……(说明此目录很乱),就解压到新建目录。
回复
反正我用另外的方法实现了这样的功能。
回复
SmartUnZip.exe是什么文件,怎么打不开,另外可以增加个选项,能够使用winrar解压
回复
要用 install ,安装到发送到,然后对着压缩包点击右键,选择发送到 – SmartUnZip。
个人比较喜欢新建文件夹。有些人可能会不喜欢吧。
回复
那个,增加个选项可能更好。
回复
也好。关于 rar 的,没必要。而且 7z 也可以揭开 rar 的。
回复
里面只有一个文件夹,而且只有一个文件的话,就不必新建文件夹了吧?
回复
这个是这样分析的,如果压缩包文件名和内部那个孤独的文件的文件名相同的话,我想是没必要,不过万一不一致的话,还是有必要新建文件夹的,回答完毕,啊哈哈哈。
回复
小众的打包方式说实话会让很多人多那么一层目录的,我默认解压就是解压到文件夹的。
很多压缩包打包方式不同,所以解压到文件夹最安全。。。
其实你们打包都不科学,压缩软件里好像有设置的。反正不要产生多余的目录就可以了。
回复
你的默认就是导致多个文件夹的罪魁祸首,也是我写这个东西的原因。
我们的打包很科学的说。只要是小众的,你就大胆地解压到当前文件夹。
什么叫好像。要那证据出来啊。
回复
;在totalcmd中用alt+f9自动解压当前压缩文件到当前目录下
#SingleInstance ignore
ControlSend,,{Alt down}{f9}{Alt Up},ahk_class TTOTAL_CMD
WinWait,ahk_class TDLGUNZIPALL,,1
IfEqual,ErrorLevel,0
{
ControlSetText,TEdit1,.,% title
Control,Check,,TCheckBox1,ahk_class TDLGUNZIPALL
ControlClick,TButton4,% title
}
回复
右键关联的话的话写注册表就可以了啊。
回复
@馄饨s 说起来容易做起来难。如果直接关联到全部文件的右键菜单的话,还不如不关联。
一个扩展名一个扩展名关联又麻烦。。不知道有多少压缩包的扩展名。。
回复
……既然是程序,循环少不了……
把压缩文件的后缀堆成一个数组,循环就可以了……orz。
回复
说的没错。我对注册表不熟悉。。。。
回复
为什么我怎么也看不见那个“用法如下图”?~
不过我会用了,这玩意……我电脑右键菜单弹出速度慢……
回复
我试了一个包含
一个exe文件
一个nfo
一个diz文件
和一个含有三个jar文件的文件夹
的rar压缩包。
结果只有三个jar文件被解压出来了,放在一个以压缩包名称命名的新建文件夹里面。用7-Zip解压则正常。
我是留言前刚刚下的~
回复
呃,发我邮箱。我的 id @ gmail.com。
我试试看。
回复
感觉解压的时候应该加个进度条,要不然解压大文件的时候什么都没显示自己看着心慌啊!
右键关联不是直接修改注册表就行了吗?为什么无法实现?
回复
觉得软件只需要判断一下就可以了,解压可以交给系统的解压程序。貌似更加方便。
回复
@ fonlan 加个进度条难度很大。因为 7z 根本就没有提供探测压缩包内有多少文件的命令。所以面对一个未知的数,怎么去从 1 数过去呢?
右键关联的问题。我对注册表不熟,而且注册表修改起来比较危险。如果在读者的机子上出现问题,我就罪过了。
@ D调,因为 7z 和 rar 的命令行是不一样的。 7z 也不错。我懒得去研究 rar 的命令。
回复
小众能否帮我找一款能够限制上网时间的软件
我弟弟在家没日没夜地玩网络游戏
讲他也不听,态度极其恶劣。。。
请求帮助了!
要隐蔽性够强的哦!
万分感谢
回复
限制不起什么作用的,在家玩不了会去网吧。。。
这个还得说服教育
回复
试试这个:http://www.jpexe.com/pcmather.html
回复
另,我搜索到百度知道的一个解答:
把他不碰网络生活健康的兄弟样的朋友找来,请他们帮忙,带你弟弟经常玩些健康的东西,比如看漫画啊,画画啊之类的,很快就没上网的瘾了,我以前也很爱上网,天天跑网吧,后来喜欢上了绘画,画了很多,都不想上网了,总之,给你弟弟一个健康向上的生活环境
回复
http://zhidao.baidu.com/question/21113257.html
这里的很全,连原因都和你的一样
不过我觉得讲他也不听的话,隐蔽性够强又有什么用呢
回复
关键是他讲不听啊….
就在刚才,我刚洗完澡,下楼拿点东西
一上来就见他坐电脑前了,刚开机
一见我回来就去客厅看电视了……
无奈啊
回复
话说我是个小孩(16岁,算是半个未成年人)……
其实你可以引导一下你的孩子学学编程啊Flash什么的,不要经常打游戏就好了吧……
强制性让小孩不打电脑好像很少成功的吧……不如让孩子做点有点意思的事。
某个学VC和Eclipse+JAVA的初中毕业生飘走……
回复
追加:不过网游确实是害人的。
回复
不知道这和 7-zip 比有啥优势,7-zip 有关联的哦!
回复
优势在于智能。请仔细看文章。
回复
7-zip的皮肤还是不敢恭维的……
不过在DA看见有人通过修改资源弄的tango风格7-zip很好。
回复
既然不显示进度条不过我感觉在托盘区弹出个气泡显示“解压中……”应该没问题吧
回复
好的。谢谢建议。
回复
很好的工具
只是“发送”菜单弹出太慢了,还是希望能采取别的方式
回复
谢谢建议。
回复
我也做了个脚本的,请感兴趣的移步本人博客或AutoHotkey爱好者论坛。
回复
好像有个限制 就是不能解压超过四个文件以上
回复
要是能够最小化到托盘就完美了
配合TC命令行真的很爽
回复