随手写系列-目录/文件复制copy

103 阅读1分钟
function copy(src, dest) {
  const stat = fs.statSync(src)//获取文件信息
  if (stat.isDirectory()) {//判断是否是目录
    copyDir(src, dest)
  } else {
    fs.copyFileSync(src, dest)
  }
}


function copyDir(srcDir, destDir) {
  fs.mkdirSync(destDir, { recursive: true })//recursive--递归创建
  for (const file of fs.readdirSync(srcDir)) {//获取目录下的文件名
    const srcFile = path.resolve(srcDir, file)
    const destFile = path.resolve(destDir, file)
    copy(srcFile, destFile)
  }
}
//linux下
 child_process.spawn('cp', ['-r', copiedPath, resultPath])
 等效于命令 cp -r copiedPath, resultPath