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 妈妈生日祝福语简短励志