使用node.js从zip文件中提取特定文件夹

时间:2015-08-04 11:44:21

标签: node.js

我有一个包含以下结构的zip文件:

  • download.zip \ TEMP \的abc.txt
  • download.zip \ TEMP \富\ abc2.txt

我想将download.zip中Temp下的内容解压缩到一个名为D:\work_del的目录。 提取zip后,此目录应为abc.txtFoo\abc2.txt 我正在使用节点的adm-zip模块,但似乎没有帮助。 (以下代码供参考)。

var zip = require('adm-zip');

var file = new zip("D:\\Work\\download.zip");
file.extractEntryTo("Temp", 'D:\\Work_delete', false, true);

在node.js中使用上述场景的任何指针?

2 个答案:

答案 0 :(得分:1)

var zip = require('adm-zip');

var file = new zip("D:\\Work\\download.zip");
file.extractEntryTo("Temp/abc.txt", 'D:\\Work_delete', false, true);

我注意到的是,如果您将路径指定为Temp\\1.txt,则它无法正常工作。所以尽量避免使用反斜杠,因为正斜杠在带有Node.js的Windows中工作得很好。

var zip = require('adm-zip');

var file = new zip("C:/Users/harslo/Desktop/node/Download.zip");
file.extractEntryTo("Temp/abc.txt", 'C:/Users/harslo/Desktop/node/Work_delete', false, true);

如果您要提取文件夹中的所有文件,请使用adm-zip docs文档中所述的FolderName/

PS - ADM-ZIP extractEntryTo似乎无法使用Windows Inbuilt创建的拉链"发送到ZIP"。

答案 1 :(得分:0)

var zip = require('adm-zip');

var file = new zip("D:/Work/download.zip");
file.extractEntryTo("Temp/", "D:/Work_delete", false, true);