全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件

实现代码一:

var fs  = require('fs')
var path = require('path')

var copyFile = function(srcPath, tarPath, cb) {
 var rs = fs.createReadStream(srcPath)
 rs.on('error', function(err) {
  if (err) {
   console.log('read error', srcPath)
  }
  cb && cb(err)
 })

 var ws = fs.createWriteStream(tarPath)
 ws.on('error', function(err) {
  if (err) {
   console.log('write error', tarPath)
  }
  cb && cb(err)
 })
 ws.on('close', function(ex) {
  cb && cb(ex)
 })

 rs.pipe(ws)
}

复制目录及其子目录

var copyFolder = function(srcDir, tarDir, cb) {
 fs.readdir(srcDir, function(err, files) {
  var count = 0
  var checkEnd = function() {
   ++count == files.length && cb && cb()
  }

  if (err) {
   checkEnd()
   return
  }

  files.forEach(function(file) {
   var srcPath = path.join(srcDir, file)
   var tarPath = path.join(tarDir, file)

   fs.stat(srcPath, function(err, stats) {
    if (stats.isDirectory()) {
     console.log('mkdir', tarPath)
     fs.mkdir(tarPath, function(err) {
      if (err) {
       console.log(err)
       return
      }

      copyFolder(srcPath, tarPath, checkEnd)
     })
    } else {
     copyFile(srcPath, tarPath, checkEnd)
    }
   })
  })

  //为空时直接回调
  files.length === 0 && cb && cb()
 })
}

使用时

copyFolder('...', '....', function(err) {
 if (err) {

  return
 }

 //continue
})

文章到此结束,希望有帮助的朋友多多支持。


# Node.JS  # 循环  # 递归  # 复制文件夹  # 在Node.js中实现文件复制的方法和实例  # Nodejs 复制文件/文件夹的方法  # Nodejs如何复制文件  # Node.js复制文件的方法示例  # nodejs文件夹深层复制功能  # 纯异步nodejs文件夹(目录)复制功能  # node删除、复制文件或文件夹示例代码  # node.js文件的复制、创建文件夹等相关操作  # 到此  # 回调  # 为空  # createReadStream  # error  # rs  # tarPath  # cb  # read  # amp  # log  # err  # console  # srcPath  # js  # var  # brush  # pre  # class  # copyFile 


相关文章: c# 在高并发场景下,委托和接口调用的性能对比  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何通过网站建站时间优化SEO与用户体验?  如何在Windows虚拟主机上快速搭建网站?  如何快速生成可下载的建站源码工具?  如何高效生成建站之星成品网站源码?  建站之星如何实现PC+手机+微信网站五合一建站?  建站主机选购指南与交易推荐:核心配置解析  Swift中switch语句区间和元组模式匹配  一键网站制作软件,义乌购一件代发流程?  家庭建站与云服务器建站,如何选择更优?  网站制作话术技巧,网站推广做的好怎么话术?  SQL查询语句优化的实用方法总结  如何用wdcp快速搭建高效网站?  如何在阿里云购买域名并搭建网站?  如何在新浪SAE免费搭建个人博客?  ,制作一个手机app网站要多少钱?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  建站VPS能否同时实现高效与安全翻墙?  如何用搬瓦工VPS快速搭建个人网站?  宿州网站制作公司兴策,安徽省低保查询网站?  建站VPS推荐:2025年高性能服务器配置指南  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  Android自定义listview布局实现上拉加载下拉刷新功能  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  怎么将XML数据可视化 D3.js加载XML  ,想在网上投简历,哪几个网站比较好?  Android使用GridView实现日历的简单功能  如何通过云梦建站系统实现SEO快速优化?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  淘宝制作网站有哪些,淘宝网官网主页?  如何基于PHP生成高效IDC网络公司建站源码?  如何通过商城自助建站源码实现零基础高效建站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  电商平台网站制作流程,电商网站如何制作?  网站设计制作企业有哪些,抖音官网主页怎么设置?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何解决VPS建站LNMP环境配置常见问题?  定制建站流程步骤详解:一站式方案设计与开发指南  网站制作难吗安全吗,做一个网站需要多久时间?  建站之星如何修改网站生成路径?  如何快速上传自定义模板至建站之星?  如何批量查询域名的建站时间记录?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何通过建站之星自助学习解决操作问题?  建站之星×万网:智能建站系统+自助建站平台一键生成  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  长沙做网站要多少钱,长沙国安网络怎么样? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。