-
Notifications
You must be signed in to change notification settings - Fork 4
/
mergeFiles.js
56 lines (50 loc) · 1.84 KB
/
mergeFiles.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const async = require('async');
const utils = require('./utils');
const splitFile = require('./split-file-lib');
function Merge(srcDir, outputFilePath) {
let _srcDir = srcDir.replaceAll("\\\\", "\\/"); //replace all the \ to /
let _outputFilePath = outputFilePath.replaceAll("\\\\", "\\/");
let names = [];
let fileList = utils.FileUtil.getFileList(_srcDir);
async.each(fileList, function (item, callback) {
let filePath = _srcDir + "/" + utils.FileUtil.getFileName(item.path);
names.push(filePath);
}, function (err, resp) {
if (err) {
console.log(err);
} else {
console.log('Got filePath correctly!');
}
});
utils.FileUtil.createFolder(_outputFilePath, 1);
splitFile.mergeFiles(names, _outputFilePath)
.then(() => {
// console.log(`Merged!`);
})
.catch((err) => {
console.log(err);
});
}
function MergeRecursively(srcDir, outputDir) {
let _srcDir = srcDir.replaceAll("\\\\", "\\/"); //replace all the \ to /
let _outputDir = outputDir.replaceAll("\\\\", "\\/");
let fileList = utils.FileUtil.getFileList(_srcDir);
async.each(fileList, function (item, callback) {
let fileName = utils.FileUtil.getFileName(item.path);
let fileNameArr = fileName.toString().split(".sf");
if (fileNameArr.length > 0) {
let eachFileFolder = _srcDir + "/" + fileNameArr[0];
Merge(eachFileFolder, _outputDir + "/" + fileNameArr[0]);
} else {
console.log(`The directory ${_srcDir} is empty!`);
}
}, function (err, resp) {
if (err) {
console.log(err);
} else {
console.log(`${fileName}`);
}
});
console.log("Successfully merged!");
}
module.exports = { "MergeRecursively": MergeRecursively }