2015-08-04 3 views
3

у меня есть почтовый файл со следующей структурой:Извлечь определенную папку из архива с помощью Node.js

  • download.zip \ Temp \ abc.txt
  • Download.zip \ Temp \ Foo \ abc2.txt

Я хочу, чтобы извлечь содержимое под Temp в Download.zip к каталогу говорят D:\work_del. Этот каталог после извлечения zip должен иметь abc.txt и Foo\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?

ответ

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

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

Пробовал это, но он не работает с zip-файлом, созданным с использованием встроенной утилиты windows. – AnkitGoyal

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 он не работает. Поэтому старайтесь избегать обратной косой черты, поскольку косые черты работают отлично в Windows с Node.js.

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); 

Если вы хотите, чтобы извлечь все файлы внутри папки использования FolderName/, как описано в adm-zip docs документации.

PS - ADM-ZIP extractEntryTo, похоже, не работает с застежками, созданными с помощью Windows Inbuilt «Отправить в ZIP».

+0

Пробовал это, но он не работает с zip-файлом, созданным с помощью утилиты windows inbuild. – AnkitGoyal

+0

работал в окнах для меня, ура – Mudassar

Смежные вопросы