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 婆婆66岁祝福语简短
13 今天孩子高考祝福语简短
14 送彩票生日祝福语简短
15 分别祝福语简短情话英文
16 画室揭牌仪式祝福语简短
17 女友妈妈生日祝福语简短
18 离别赠言离职祝福语简短