Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
发布时间 - 2026-01-11 03:18:24 点击率:次实现代码一:
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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
Laravel如何为API编写文档_Laravel API文档生成与维护方法
香港服务器选型指南:免备案配置与高效建站方案解析
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何构建满足综合性能需求的优质建站方案?
百度浏览器如何管理插件 百度浏览器插件管理方法
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel如何实现用户密码重置功能?(完整流程代码)
中山网站推广排名,中山信息港登录入口?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
网站图片在线制作软件,怎么在图片上做链接?
如何在阿里云通过域名搭建网站?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
详解jQuery中的事件
JavaScript Ajax实现异步通信
如何在万网ECS上快速搭建专属网站?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
nodejs redis 发布订阅机制封装实现方法及实例代码
如何破解联通资金短缺导致的基站建设难题?
如何快速选择适合个人网站的云服务器配置?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Internet Explorer官网直接进入 IE浏览器在线体验版网址
如何快速搭建高效简练网站?
JS中对数组元素进行增删改移的方法总结
动图在线制作网站有哪些,滑动动图图集怎么做?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何快速查询域名建站关键信息?
使用spring连接及操作mongodb3.0实例
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
iOS正则表达式验证手机号、邮箱、身份证号等
北京网站制作的公司有哪些,北京白云观官方网站?
网站制作免费,什么网站能看正片电影?
韩国服务器如何优化跨境访问实现高效连接?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何在宝塔面板中修改默认建站目录?
Laravel Fortify是什么,和Jetstream有什么关系
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
如何在阿里云高效完成企业建站全流程?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
清除minerd进程的简单方法
如何在IIS中新建站点并配置端口与IP地址?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理

