环境
主要代码
let fs = require('fs');
let major = process.version.match(/v([0-9]*).([0-9]*)/)[1]
let minor = process.version.match(/v([0-9]*).([0-9]*)/)[2]
function cpSync(source, destination) {
if (Number(major) < 16 || Number(major) == 16 && Number(minor) < 7) {
if (fs.existsSync(destination)) fs.rmSync(destination, { recursive: true })
fs.mkdirSync(destination, { recursive: true });
let rd = fs.readdirSync(source)
for (const fd of rd) {
let sourceFullName = source + "/" + fd;
let destFullName = destination + "/" + fd;
let lstatRes = fs.lstatSync(sourceFullName)
if (lstatRes.isFile()) fs.copyFileSync(sourceFullName, destFullName);
if (lstatRes.isDirectory()) cpSync(sourceFullName, destFullName);
}
}
else fs.cpSync(source, destination, { force: true, recursive: true })
}