NodeJS 复制任意目录下的文件到另一目录

const path = require('path')
const fs = require('fs')

const sourceDir = process.argv[2]
const targetDir = process.argv[3]


const isExist = (path) => { // 判断文件夹是否存在, 不存在创建一个
  if (!fs.existsSync(path)) {
    fs.mkdirSync(path)
  }
}

isExist(targetDir)

const copyFile = (sourcePath, targetPath) => {
  const sourceFile = fs.readdirSync(sourcePath, { withFileTypes: true })

  sourceFile.forEach(file => {
    const newSourcePath = path.resolve(sourcePath, file.name)
    const newTargetPath = path.resolve(targetPath, file.name)
    if (file.isDirectory()) {
      isExist(newTargetPath)
      copyFile(newSourcePath, newTargetPath)
    }
    if (file.name.endsWith('.mp4')) { // 需要复制其他的格式的文件修改 .mp4 既可
      fs.copyFileSync(newSourcePath, newTargetPath)
    }
  })
}

copyFile(sourceDir, targetDir)

使用说明: 代码保存到文件, 需要复制什么格式的文件, 把代码中的 .mp4 修改成对应的格式,最后使用 node 运行代码, 传入需要复制的文件路径和复制到的目标路径即可.

你可能感兴趣的:(NodeJS 复制任意目录下的文件到另一目录)