Как тгз только файлы а не каталог - PullRequest
0 голосов
/ 31 января 2020

В моем скрипте (расположенном в $ HOME / customdir / scripts / testscript. js) я использую этот пакет npm, я хочу tgz файл и каталог, расположенный в каталоге $ HOME. Я мог tgz файлы, но когда я разархивировал его, я обнаружил, что это zip каталог все вместе, я хочу, чтобы tgz только файлы и его каталог.

В документе I noDirRecurse Не рекурсивно архивировать содержимое каталогов. [Псевдоним: n]

Я не уверен, как использовать эту опцию. Может ли кто-нибудь мне помочь.

Вот ссылка на пакетный документ npm введите описание ссылки здесь

Это то, что я пробовал в коде

let path = require ('path');
let fs = require ('fs');
let tar = require ('tar');

function DoArchive() {
    let homedir = process.env.HOME;
    var sDirForTGZ = homedir + path.sep + '.somedir';
    let sTGZCreated = 'Diagnostics_' + GetTimestamp() + '.tgz';
    let sFileForTGZ = homedir + path.sep + 'somefile.txt';
        if (!fs.existsSync(sDirForTGZ)) {
            fs.mkdirSync(sDirForTGZ);
    }

    var pLogFile = fs.createWriteStream(sFileForTGZ);
    pLogFile.on('finish', () => {  
        tar.c(
            {
              gzip: true,
              file: sTGZCreated
            },
            [sDirForTGZ,  sFileForTGZ]
          ).then(_ => {  
                console.log("successfullly tgz file!");
            })
    });
    pLogFile.end();
}

<html>
 <body onload = "DoArchive()">
 </body>
</html>
...