2011-12-18 80 views
1

有3个问题有谁知道如何解压二郎密码保护的文件

  1. 如何解压或打开二郎受密码保护的zip文件?
  2. unziping压缩文件后,排序所有文件扩展一些东西,如filelib:wildcard(“*。?erl”)?
  3. 把所有排序的文件我不同的文件,即文件:写(所有* .erl - >到erlfile)和文件:写(所有* .beam - >到beamfile)

感谢

回答

0

由于对于1,我认为你不能轻易做到这一点。您必须调用一些外部脚本并通过端口观察其行为。

至于2,你可以做到以下几点:

Filenames = ["foo.erl", "bar.txt", "baz.erl"], 
Sorted = lists:keysort(1, [{filename:extension(Name), Name} || Name <- Filenames]) 
[Name || {_, Name} <- Sorted]. 

至于3,如果空间是没有问题的,然后读取所有的人都到内存中,收集数据的iolist()和写一个回到所需的输出文件。如果空间有问题,则需要稍微流式传输数据并分块读取。

+0

你是指什么样的脚本? – user1067665 2011-12-18 16:00:42

+0

正常情况下,当我解压缩一个zip文件我使用:{ok,Filenames} = zip:extract(Pathtothefile)。 Filenames是其他文件的列表,如“rabbitmq-server-2.7.0/src/worker_pool.erl”, “rabbitmq-server-2.7.0/src/mirrored_supervisor_tests.erl”, “rabbitmq-server-2.7 .0/src/rabbit_binding.erl]。我的意思是,我如何将它们分类到不同的文件? – user1067665 2011-12-18 20:41:43