SmartUnZip - 智能解压缩

最新版 0.3 版

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 命令行中文说明


Tag: , 1,181 views
有 76 个留言,我也要留言

SF!!!

这也可以。。

Paveo reply on 七月 28th, 2008,10:23 下午:

啊啊…
没位置了

皮卡西 reply on 七月 29th, 2008,1:01 上午:

自夸一句,那几个图标太帅了。

别自我膨胀了,都不统一大调,旧瓶新酒。。

Paveo reply on 七月 28th, 2008,10:30 下午:

S的那个还不错

D调 reply on 七月 29th, 2008,3:37 下午:

除了GMail那个不错(貌似可再改进,将上面白O状改成一缺口G状,没看到大图标不敢说肯定)其它图标都不咋样。

林卯 reply on 八月 2nd, 2008,4:59 上午:

甚好!懒人有福了~

建议用变量设置!不一定大家都是用“C:\Documents and Settings\用户名\SendTo”。

我就是用变量写的。

sfufoet reply on 七月 29th, 2008,9:15 上午:

怎么那么麻烦,直接定义热键解压好了。

火山,脚本代码呢?太绝了吧,弄成EXE了。。。

不是每个人都喜欢用快捷键

sfufoet reply on 七月 29th, 2008,9:16 上午:

关于代码也没什么。关键是人的逻辑。

sfufoet reply on 七月 29th, 2008,11:59 上午:

省得又被抄。

sfufoet reply on 七月 29th, 2008,12:18 下午:

你自己打包的时候还有两个文件夹呢。

应该在根目录全选所以文件再打包。将整个文件夹打包只会在解压的时候多一层文件夹。。。

我打包的时候有两个文件夹?阿门同学。你看错了。我又回头去看我的压缩包,只有一层文件夹。

你没看明白,这个不是单纯解压。

2、自动判断是解压到当前文件夹还是到新建目录,取决于压缩包内是目录还是大量文件;

sfufoet reply on 七月 29th, 2008,9:18 上午:

来看代码的……学习学习转成 AU3,不过……

没提供代码。嘿嘿。

sfufoet reply on 七月 29th, 2008,9:18 上午:

“可以一口气处理多个压缩包”,这个很有吸引力,收藏了,谢谢!

自己一般这样做
Alt+F9,Backspace,Alt+s,Enter
搞定,解压到当前tab下同名文件夹

另,好像可以用TCscript做到菜单项里,关联个快捷键什么的

Jin reply on 七月 29th, 2008,9:05 上午:

你这个做法不能根据文件多少判断。我这个是写给有需要的朋友的。

sfufoet reply on 七月 29th, 2008,9:21 上午:

你什么时候用熟了TC就不说这种话了

Jin reply on 七月 30th, 2008,11:54 上午:

每个人都有自己的习惯和喜好。我没用过 TC 也不打算用 TC。你习惯了 TC,习惯按下一堆快捷键;而我喜欢用 ahk,习惯用发送到。

sfufoet reply on 七月 30th, 2008,12:20 下午:

对与上面的话,我表示道歉,因为我没用过 TC。乱猜乱下定论是我不对。抱歉。

sfufoet reply on 七月 30th, 2008,12:21 下午:

你这样做站长,还开放回复干嘛
这么NB的人,干脆自己单机建个blog,自娱自乐多好
你不习惯快捷键是你的事,我什么时候逼你用TC了
不过我总在问自己,ahk为什么要叫做Auto HOTKEY,怎么不能叫Auto MouseClick呢

我表示抱歉,吃完午饭撑的慌跑过来看你的网站还回复你的文章是我不对。抱歉。

Jin reply on 七月 30th, 2008,1:25 下午:

我用F1解压,通过hoekey的发送按键,当然,不智能。

来晚了

http://i.namipan.com/files/fc03fa1d7dd63bc31e9d944145bb72279a9b2e9b943900003404/0/2ml.png

给你截图下来,人赃俱获吧,啊哈哈哈。。。

目录层次为:SmartUnZip%40appinn.com.7z\SmartUnZip\

哼,鄙视不提供脚本的,还给EXE加密码~

你用 SmartUnZip 解压的?昨晚的有严重 bug,已经重新传过了。建议重新下载。

或者我理解错了。

小众都是这样打包的。压缩包里面是一个文件夹,加上压缩包当然被你算两个啦。

小众的压缩包你只要,右键解压到当前目录。嘿嘿。

另关于邮件回复的问题。是我不对。我不该发那么多个。话应该一口气说完。给你造成不便。抱歉。

因为有些读者期待我们作者回复他。而他又可能会忘记回来看。所以自动发到他邮箱。你只需要去邮箱看回复就 ok 了。

sfufoet reply on 七月 29th, 2008,1:11 下午:

你这个评论回复通知到邮箱也太恐怖了。没个评论一个邮件。想让我删邮件删到手瘫啊。。。

用 Gmail 就不会出现这样的惨状啦。Gmail 会把同标题的合并为一个邮件。嘿嘿。

sfufoet reply on 七月 29th, 2008,1:16 下午:

ThunderBird 按话题排序:

李二嫂的猪 reply on 七月 29th, 2008,2:04 下午:

晕死……门,你又得多删除一封邮件了……可恶的 SPAM 插件又把我的留言过滤了……

TB 效果图:http://lh5.ggpht.com/runningwaterpro/SI6zPTD9JkI/AAAAAAAAAzk/yjIH6ktfYOI/2008-07-29_140159.png&imgmax=640

李二嫂的猪 reply on 七月 29th, 2008,2:06 下午:

二猪同学,你又不是作者。你的留言是不是发送到阿门的邮箱的。

sfufoet reply on 七月 29th, 2008,3:39 下午:

哦,我以为他订阅了呢……

李二嫂的猪 reply on 七月 29th, 2008,4:12 下午:

噢,积累小步走的小众软件

可以再增加一个判断方法:当前目录不同类型的文件很多,比如有.rar.exe.txt.dll……(说明此目录很乱),就解压到新建目录。

反正我用另外的方法实现了这样的功能。

sfufoet reply on 七月 29th, 2008,3:36 下午:

SmartUnZip.exe是什么文件,怎么打不开,另外可以增加个选项,能够使用winrar解压

要用 install ,安装到发送到,然后对着压缩包点击右键,选择发送到 - SmartUnZip。

里面只有一个文件夹,而且只有一个文件的话,就不必新建文件夹了吧?

个人比较喜欢新建文件夹。有些人可能会不喜欢吧。

sfufoet reply on 七月 29th, 2008,3:38 下午:

那个,增加个选项可能更好。

D调 reply on 七月 29th, 2008,3:41 下午:

也好。关于 rar 的,没必要。而且 7z 也可以揭开 rar 的。

sfufoet reply on 七月 29th, 2008,3:46 下午:


加入里面只有一个文件夹,SmartUnZip 直接解压到当前文件夹;如果压缩包只有一个文件也会新建一个文件夹。

里面只有一个文件夹,而且只有一个文件的话,就不必新建文件夹了吧?

这个是这样分析的,如果压缩包文件名和内部那个孤独的文件的文件名相同的话,我想是没必要,不过万一不一致的话,还是有必要新建文件夹的,回答完毕,啊哈哈哈。

天堂之门 reply on 七月 29th, 2008,4:08 下午:

小众的打包方式说实话会让很多人多那么一层目录的,我默认解压就是解压到文件夹的。

很多压缩包打包方式不同,所以解压到文件夹最安全。。。

其实你们打包都不科学,压缩软件里好像有设置的。反正不要产生多余的目录就可以了。

你的默认就是导致多个文件夹的罪魁祸首,也是我写这个东西的原因。

我们的打包很科学的说。只要是小众的,你就大胆地解压到当前文件夹。

什么叫好像。要那证据出来啊。

sfufoet reply on 七月 29th, 2008,4:20 下午:

;在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 说起来容易做起来难。如果直接关联到全部文件的右键菜单的话,还不如不关联。

一个扩展名一个扩展名关联又麻烦。。不知道有多少压缩包的扩展名。。

sfufoet reply on 七月 29th, 2008,5:36 下午:

……既然是程序,循环少不了……
把压缩文件的后缀堆成一个数组,循环就可以了……orz。

馄饨s reply on 七月 29th, 2008,5:37 下午:

说的没错。我对注册表不熟悉。。。。

sfufoet reply on 七月 29th, 2008,6:02 下午:

为什么我怎么也看不见那个“用法如下图”?~
不过我会用了,这玩意……我电脑右键菜单弹出速度慢……

我试了一个包含
一个exe文件
一个nfo
一个diz文件
和一个含有三个jar文件的文件夹
的rar压缩包。
结果只有三个jar文件被解压出来了,放在一个以压缩包名称命名的新建文件夹里面。用7-Zip解压则正常。
我是留言前刚刚下的~

reply on 七月 29th, 2008,10:28 下午:

呃,发我邮箱。我的 id @ gmail.com。

我试试看。

sfufoet reply on 七月 29th, 2008,10:32 下午:

感觉解压的时候应该加个进度条,要不然解压大文件的时候什么都没显示自己看着心慌啊!
右键关联不是直接修改注册表就行了吗?为什么无法实现?

觉得软件只需要判断一下就可以了,解压可以交给系统的解压程序。貌似更加方便。

D调 reply on 七月 29th, 2008,8:52 下午:

@ fonlan 加个进度条难度很大。因为 7z 根本就没有提供探测压缩包内有多少文件的命令。所以面对一个未知的数,怎么去从 1 数过去呢?

右键关联的问题。我对注册表不熟,而且注册表修改起来比较危险。如果在读者的机子上出现问题,我就罪过了。

@ D调,因为 7z 和 rar 的命令行是不一样的。 7z 也不错。我懒得去研究 rar 的命令。

sfufoet reply on 七月 30th, 2008,10:03 上午:

小众能否帮我找一款能够限制上网时间的软件
我弟弟在家没日没夜地玩网络游戏
讲他也不听,态度极其恶劣。。。
请求帮助了!

要隐蔽性够强的哦!
万分感谢

限制不起什么作用的,在家玩不了会去网吧。。。

这个还得说服教育

scavin reply on 七月 29th, 2008,8:51 下午:

试试这个:http://www.jpexe.com/pcmather.html

sfufoet reply on 七月 30th, 2008,10:03 上午:

另,我搜索到百度知道的一个解答:

把他不碰网络生活健康的兄弟样的朋友找来,请他们帮忙,带你弟弟经常玩些健康的东西,比如看漫画啊,画画啊之类的,很快就没上网的瘾了,我以前也很爱上网,天天跑网吧,后来喜欢上了绘画,画了很多,都不想上网了,总之,给你弟弟一个健康向上的生活环境

sfufoet reply on 七月 30th, 2008,10:04 上午:

http://zhidao.baidu.com/question/21113257.html
这里的很全,连原因都和你的一样

不过我觉得讲他也不听的话,隐蔽性够强又有什么用呢

关键是他讲不听啊….
就在刚才,我刚洗完澡,下楼拿点东西
一上来就见他坐电脑前了,刚开机
一见我回来就去客厅看电视了……

无奈啊

话说我是个小孩(16岁,算是半个未成年人)……
其实你可以引导一下你的孩子学学编程啊Flash什么的,不要经常打游戏就好了吧……
强制性让小孩不打电脑好像很少成功的吧……不如让孩子做点有点意思的事。

某个学VC和Eclipse+JAVA的初中毕业生飘走……

馄饨s reply on 七月 30th, 2008,8:52 上午:

追加:不过网游确实是害人的。

馄饨s reply on 七月 30th, 2008,8:54 上午:

不知道这和 7-zip 比有啥优势,7-zip 有关联的哦!

优势在于智能。请仔细看文章。

sfufoet reply on 七月 30th, 2008,9:28 上午:

7-zip的皮肤还是不敢恭维的……
不过在DA看见有人通过修改资源弄的tango风格7-zip很好。

林卯 reply on 七月 31st, 2008,1:50 上午:

既然不显示进度条不过我感觉在托盘区弹出个气泡显示“解压中……”应该没问题吧

好的。谢谢建议。

sfufoet reply on 七月 30th, 2008,4:51 下午:

很好的工具
只是“发送”菜单弹出太慢了,还是希望能采取别的方式

谢谢建议。

sfufoet reply on 七月 30th, 2008,4:50 下午:

我也做了个脚本的,请感兴趣的移步本人博客或AutoHotkey爱好者论坛。

好像有个限制 就是不能解压超过四个文件以上

要是能够最小化到托盘就完美了 :)

配合TC命令行真的很爽

留下评论

(必需)

(必需)