This topic created in 5137 days ago, the information mentioned may be changed or developed.
大概情况是这样的,有几百个目录,每个目录下有个ZIP文件,每个ZIP文件里还有个RAR文件,RAR文件里才是有用的东西。
我想找个方法或软件,能够最快速地把每个目录下的ZIP解压到当前目录,再把每个RAR解开,最后删除ZIP和RAR。最后的结果是所有的目录都在,每个目录下只有压缩包里的东西。
不知道我表述明白没有?
16 replies • 1970-01-01 08:00:00 +08:00
 |
|
1
Johnny May 10, 2012
自己动手写个shell
|
 |
|
2
ichigo May 10, 2012
这个似乎很难,帮顶吧,坐等楼下大神。
|
 |
|
3
AlloVince May 10, 2012 1
何必写脚本,装个winrar
文件管理器搜索*.zip
全选,右键——解压到当前文件夹
文件管理器搜索*.rar
全选,右键——解压到当前文件夹
文件管理器搜索*.rar,全选,删除 文件管理器搜索*.zip,全选,删除
|
 |
|
4
wenhuacn May 10, 2012 1
0day 的东东是吧? 你google 一下0day 解压,应该有方案
|
 |
|
5
Weakdancer May 10, 2012
import os #路径 PATH="C:/" #解压 for path in os.listdir(PATH): for f in os.listdir(path): if f.endswith("zip"): os.system("7z -x"+os.path.join(PATH,path,f)) for f in os.listdir(path): if f.endswith("rar"): os.system("7z -x"+os.path.join(PATH,path,f))
#删除 for path in os.listdir(PATH): for f in os.listdir(path): if f.endswith("zip") or f.endswith("rar"): os.system("delete"+os.path.join(PATH,path,f))
import os #路径 PATH="C:/" #解压 for path in os.listdir(PATH): for f in os.listdir(path): if f.endswith("zip"): os.system("7z -x"+os.path.join(PATH,path,f)) for f in os.listdir(path): if f.endswith("rar"): os.system("7z -x"+os.path.join(PATH,path,f))
#删除 for path in os.listdir(PATH): for f in os.listdir(path): if f.endswith("zip") or f.endswith("rar"): os.system("delete"+os.path.join(PATH,path,f))
我只是在手机上写了下,可能有问题,需要有7zip
|
 |
|
9
liloli May 10, 2012
目前用Zipghost实现了第一步,当前是每个目录下有个RAR包了,下一步目前没实现。 @ Weakdancer 谢谢!我不懂代码,不好意思哈!
|
 |
|
10
Leechael May 10, 2012
find ./ -iname '*.zip' -exec unzip {} \; && find ./ -iname '*.rar' -exec unrar {} \;
上述为思路,并不保证这段 bash 命令能够正确运行。
|
 |
|
12
CoX May 10, 2012
|
 |
|
14
gavingeng May 10, 2012
#!/bin/bash
for f in `find . -name "*.zip"`; do zip -q -r $f; #rm -rf $f; done
for f in `find . -name "*.rar"`; do rar x $f; #rm -rf $f; done
|
 |
|
15
kojp May 11, 2012
shell +1
各位大大都已经写好了。呵呵,我就不瞎凑热闹了。
|