Как заархивировать/разархивировать папку с данными?



  • Приветствую коллеги!

    Помогите решить следующую задачу. Есть локальная папка с файлами и внутренними папками, в которых тоже есть файлы. Так вот, эту корневую папку со всем содержимым, нужно чтоб БАС заархивировал о разархивировал. Так как БАС не умеет работать с архивами из коробки, по идее нужен код под NodeJs.

    Кто может, поделитесь пожалуйста куском рабочего кода для архивации и разархивации папки с содержимым.

    Заранее благодарен!



  • @Gang Не нужен никакой код, смотрите ключи запуска архиватора и запускайте его через запустить процесс



  • @UserTrue said in Как заархивировать/разархивировать папку с данными?:

    @Gang Не нужен никакой код, смотрите ключи запуска архиватора и запускайте его через запустить процесс

    Зависеть от стороннего архиватора не подходит. Нужно чтоб сам БАС это делал



  • @Gang Есть системный архиватор tar



  • @UserTrue said in Как заархивировать/разархивировать папку с данными?:

    @Gang Есть системный архиватор tar

    Мой админ сказал что tar на винде не поддерживается из коробки (по крайней мере на моих серверах точно)



  • @Gang Ну если у тебя старая десятка, то да. А так на последних обновах есть. Есть в ноде zlib, примеры кода там есть



  • @Gang c win10 он tar поддерживается, а серверная не знаю. Вам никто не мешает кинуть экзешник в папку со скриптом.



  • Всем спасибо за ответы! Нашел для себя приемлемое решение.

    Архивирую папку с помощью этого модуля https://www.npmjs.com/package/zip-folder

    var zipFolder = require('zip-folder');
    zipFolder('C:/test/7542391', 'C:/test/7542391'+'.zip', function(err) {
        if(err) {
            console.log('oh no!', err);
        } else {
            console.log('EXCELLENT');
        }
    });
    

    Разархивирую папку с помощью этого модуля https://www.npmjs.com/package/unzip

    var fs = require('fs')
    var unzip = require('unzip');
    fs.createReadStream('C:/test/7542391.zip').pipe(unzip.Extract({ path: 'C:/test/7542391' }));
    

    Где C:/test/7542391 папка которую архивируем. В данной папке могут быть любые вложения папок и файлов. Все заархивирует без проблем.


Log in to reply
 

  • 1
  • 3
  • 1
  • 2
  • 3
  • 3
  • 2
  • 5