NodeJs递归删除非空文件夹
此篇博文由于第一次使用fs.unlink()删除文件夹时报“Error: EPERM: operation not permitted, unlink”错误而写,这是因为fs.unlink()只能删除文件。
fs.rmdir()或fs.rmdirSync()用户删除空文件夹, fs.unlink()或fs.unlinkSync()用于删除文件,因此删除非空文件夹需要使用递归方式。
function deleteFolderRecursive(path) {
    if( fs.existsSync(path) ) {
        fs.readdirSync(path).forEach(function(file) {
            var curPath = path + "/" + file;
            if(fs.statSync(curPath).isDirectory()) { // recurse
                deleteFolderRecursive(curPath);
            } else { // delete file
                fs.unlinkSync(curPath);
            }
        });
        fs.rmdirSync(path);
    }
};
NodeJs递归删除非空文件夹的更多相关文章
- vc 递归删除非空文件夹
		
我觉得这是一个非常不错的递归例子 头文件 #pragma once #include <atlstr.h> #include <io.h> #include <strin ...
 - 如何使用python移除/删除非空文件夹?
		
移除/删除非空文件夹/目录的最有效方法是什么? 1.标准库参考:shutil.rmtree. 根据设计,rmtree在包含只读文件的文件夹树上失败.如果要删除文件夹,不管它是否包含只读文件,请使用 i ...
 - 【转】 python 删除非空文件夹
		
转自:https://blog.csdn.net/xiaodongxiexie/article/details/77155864 一般删除文件时使用os库,然后利用os.remove(path)即可完 ...
 - windows C++删除非空文件夹
		
//add by zhuxy 递归删除文件夹 BOOL myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容 { BOOL ret=TRU ...
 - python 删除非空文件夹
		
import os import shutil os.remove(path) #删除文件 os.removedirs(path) #删除空文件夹 shutil.rmtree(path) #递归删除文 ...
 - C 实现删除非空文件夹
		
/* 文件名: rd.c ---------------------------------------------------- c中提供的对文件夹操作的函数,只能对空文件夹进行 删除,这使很多 ...
 - mac 下删除非空文件夹
		
Linux中rmdir命令是用来删除空的目录.使用方式: rmdir [-p] dirName 参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除. 举例说明:rmdir folde ...
 - QT删除非空文件夹
		
int choose; choose = QMessageBox::warning(NULL,"warning","确定删除该文件?",QMessageBox: ...
 - shell命令rm删除非空文件夹
		
rm -rf dirName CentOS的自带的资源管理器叫nautilus,在命令行里输入nautilus可以启动它.
 
随机推荐
- sparkStreaming获取kafka数据(java版本)
			
环境 spark-2.2.0 kafka_2.11-0.10.0.1 jdk1.8 配置好jdk,创建项目并将kafka和spark的jar包添加到项目中,除此之外还需要添加spark-streami ...
 - hdu2609 How many 字典树+最小表示法
			
Give you n ( n < 10000) necklaces ,the length of necklace will not large than 100,tell meHow many ...
 - sourcetree删除github远程仓库文件
			
sourcetree删除远程仓库的master分支文件步骤 第一步:删除本地远程仓库分支的所需要文件或者文件夹(本地和远程仓库同步) 第二步:回到sourcetree提交,推送 第三步:刷新远程仓库
 - MySQL Execution Plan--数据排序操作
			
MySQL数据排序 MySQL中对数据进行排序有三种方式:1.常规排序(双路排序)2.优化排序(单路排序)3.优先队列排序 优先队列排序使用对排序算法,利用堆数据结构在所有数据中取出前N条记录. 常规 ...
 - Using C++ new() placement in embedded system
			
For new(), there are three definition in C++11, which are listed below. throwing (1) void* operator ...
 - C# to IL 4 Keywords and Operators(关键字和操作符)
			
Code that is placed after the return statement never gets executed. In the first programgiven below, ...
 - yield return:使用.NET的状态机生成器
			
通过关键字词组yield return,.Net Framework(从2.0开始)会为我们生成一个状态机.状态机实际上就是一个可枚举的类型化集合 理解yield return的工作方式 关键字词组y ...
 - JSON数据的处理中的特殊字符
			
JSON现在是很常见的处理数据的方式了.但由于自己使用的是反射获取数据,必须自己处理特殊字符,但总是发现有一些看不见的字符在前台 var obj = jQuery.parseJSON(msg);会转换 ...
 - oracle-rman-2
			
归档日志的备份 RMAN> list archivelog all;show archivelog deletion policy;configure archivelog deletion p ...
 - getModifiers 方法解释。
			
modifier: 字面意思修饰符. getModifiers 得到的就是 前面的 的修饰符 ,这个方法 字段和方法 都有.这个方法的值是 修饰符 相加的到的值. 例子: public class ...