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 2026腊八简短祝福语
12 女儿要生了祝福语简短
13 下午微信祝福语简短
14 冬至祝福语简短走心
15 盘锦结婚祝福语大全简短
16 女儿生日简短祝福语幽默
17 学弟英语高考祝福语简短
18 音乐生祝福语大全简短