node实现 删除某目录下所有同名文件夹及其子文件内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node实现 删除某目录下所有同名文件夹及其子文件内容相关的知识,希望对你有一定的参考价值。
相关命令:
● fs.stat && fs.statSync 提供了访问文件的属性信息
● fs.readdir && fs.readdirSync 提供了读取文件目录信息
● fs.unlink && fs.unlinkSync 进行删除文件操作, 不可以删除文件夹
● fs.rmdir && fs.rmdirSync 进行删除文件操作,但文件夹必须为空
代码实现:
file.js
1 var fs = require(‘fs‘); 2 //当前配置项 3 const currentDir = ‘../abcd‘; //所选择的目录 4 const NeedDeleteDir = ‘.svn‘; //需要删除的文件夹包括文件夹下的内容 5 6 console.info("当前目录:", fs.realpathSync(currentDir)) 7 console.log("starting delect path, please wait ......."); 8 9 //读取所有该目录下的文件。 10 const ReadDir = function(path){ 11 if(fs.existsSync(path)){ //检测路径是否存在 12 fs.readdir(path,function(err, files){ //读取路径 13 if(err) return console.log("ERROR-ReadDir:", err); 14 15 files.forEach(function(file){ 16 if(file === NeedDeleteDir){ //匹配路径 17 console.log(‘Current File:‘,path, file); 18 opetateDir(path + ‘/‘ + file); 19 }else if(fs.statSync(path + ‘/‘ + file).isDirectory()){ //检测路径是否是文件夹 20 ReadDir(path + ‘/‘ + file); //递归子文件夹 21 } 22 }) 23 }) 24 } 25 } 26 27 //删除文件及文件夹 28 const opetateDir = function(path){ 29 var files = []; 30 if(fs.existsSync(path)){ //检测路径是否存在 31 files = fs.readdirSync(path); //读取路径 32 files.forEach(function(file){ 33 let curDir = path + ‘/‘ + file; 34 let stats = fs.statSync(curDir); 35 if(stats.isDirectory()){ //检测路径是否是文件夹 36 opetateDir(curDir); //递归子文件夹 37 }else{ 38 fs.unlinkSync(curDir); //删除文件 39 } 40 41 }); 42 fs.rmdirSync(path); //删除文件夹 43 console.log("SUCCESS RM Dir!", path); 44 } 45 } 46 47 //开始执行 48 ReadDir(currentDir);
使用方式: 放在相应目录下 执行 node file.js
以上是关于node实现 删除某目录下所有同名文件夹及其子文件内容的主要内容,如果未能解决你的问题,请参考以下文章