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实现 删除某目录下所有同名文件夹及其子文件内容的主要内容,如果未能解决你的问题,请参考以下文章

复制某文件夹及其子文件夹中的一定大小的文件

java FTPClient如何删除远程服务器端的文件夹及其子文件夹及其内容!

Java删除文件或目录及目录下所有文件

使用 php 删除所有文件、文件夹及其子文件夹 [重复]

PHP 实现遍历出目录及其子文件

删除oracle中某一个用户的所有数据 如何操作