const fs = require("fs");
//node extract.js -src "D:\桌面\tmp" -dest "D:\桌面\project\backup\A-28\public"
let src = "";
let dest = null;
let config = {
from: 0,
};
let arr = process.argv;
for (let i = 2, len = arr.length; i < len; i += 2)
config[arr[i].substring(1)] = arr[i + 1];
src = config["src"].replaceAll("\\", "/");
dest = config["dest"] ? config["dest"] : src + "/public";
!fs.existsSync(dest) && fs.mkdirSync(dest);
let dirs = [];
let fileArr = [];
let dirIndex = -1;
function loop(path) {
let files = fs.readdirSync(path, { withFileTypes: true });
files.forEach((file) => {
if (file.name === "Thumbs.db") {
} else if (file.isDirectory()) dirs.push(path + "/" + file.name);
else fileArr.push(path + "/" + file.name);
});
dirIndex += 1;
if (dirIndex !== dirs.length) loop(dirs[dirIndex]);
}
loop(src);
config.from = Number(config.from) || 0;
fileArr.forEach((val, seq) => {
fs.copyFileSync(
val,
dest + "/" + (seq + config.from) + val.substr(val.lastIndexOf("."))
);
});
node extract.js -src "D:\桌面\tmp" -dest "D:\桌面\project\backup\A-28\public"