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 分手毕业祝福语简短女生