生成压缩包内的文件列表
董师傅
我有几百个zip压缩包,每个zip压缩包里面是几十个rar压缩包,有没有办法将压缩包里面的文件生成列表呢?这样索引就方便了,但是WinRAR是不支持这个功能的,就算它的命令行方式也不支持zip压缩包生成文件列表。后来查找很久知道了解决的办法,需要用到两个工具:7-zip和gsed。7-zip是大名鼎鼎的跨平台、有着极高压缩比的开源压缩软件。而gsed是UNIX类操作系统的sed的Windows版本,而sed就是专门用来操作行的,你可以理解为行编辑器。
他们都是命令行软件。
下载7-zip和gsed后,你可以用记事本建立一个批处理文件,内容如下:
@echooff7z.exel*.zip|gsed.exe-rn"/^(Path|[0-9]{4})/{s/^Path=//;ta;s/([^]++){5}//;G;s/(.*)\n(.*)/\2\\\1/;s/$/\r\n/;p;d;:a;h;s/^/\r\n/;s/$/\r\n/;p}">result.txtstart result.txt
可在网址http://www.icpcw.com/bzsoft复制代码。
有同样需求的读者朋友可以参考一下这个方法!
董师傅点评:
SnowFox的方法很是巧妙。这里之所以要用到gsed,是由于gsed默认的换行符为\n,微软自带的记事本只能识别 \r\n,所以强制把所有的 \n都替换为 \r\n。7z.exe包含在7-zip中,用来列举zip、rar压缩包内的文件,但目前尚未找到列举内部压缩包文件列表的参数。