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"

 

 posted on 2023-03-05 15:42  laremehpe  阅读(15)  评论(0编辑  收藏  举报