Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
实现代码一:
varfs=require('fs')
varpath=require('path')
varcopyFile=function(srcPath,tarPath,cb){
varrs=fs.createReadStream(srcPath)
rs.on('error',function(err){
if(err){
console.log('readerror',srcPath)
}
cb&&cb(err)
})
varws=fs.createWriteStream(tarPath)
ws.on('error',function(err){
if(err){
console.log('writeerror',tarPath)
}
cb&&cb(err)
})
ws.on('close',function(ex){
cb&&cb(ex)
})
rs.pipe(ws)
}
复制目录及其子目录
varcopyFolder=function(srcDir,tarDir,cb){
fs.readdir(srcDir,function(err,files){
varcount=0
varcheckEnd=function(){
++count==files.length&&cb&&cb()
}
if(err){
checkEnd()
return
}
files.forEach(function(file){
varsrcPath=path.join(srcDir,file)
vartarPath=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
})
文章到此结束,希望有帮助的朋友多多支持毛票票。
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短