node 文件系统fs 为我们提供了一些方法 进行文件和文件夹的读写删除等操作 下边将介绍删除文件夹及子文件夹下的所有内容的相关命令(均含有同步和异步方法) 1、 fs.stat && fs.statSync 提供了访问文件的属性信息 2、 fs.readdir && fs.readdirSync 提供读取文件目录信息 3、 fs.unlink && unlinkSync  进行删除文件操作,不可以删除文件夹 4、 fs.rmdir && fs.rmdirSync 进行删除文件夹操作,但文件夹必须为空文件夹 接下来  进行文件夹的删除工作 第一步:将所有的文件删除(清空所有的文件夹) 第二部:删除所有的空文件夹 完成以上两步,就可以达到我们的目的了,下边来看看具体的代码实现

 

router.get('/removeFile',function(req,res,next){   
  var rootFile = '../赚钱啦';//要删除的文件夹
删除所有的文件(将所有文件夹置空)
var emptyDir = function(fileUrl){   
      var files = fs.readdirSync(fileUrl);//读取该文件夹
        files.forEach(function(file){
        var stats = fs.statSync(fileUrl+'/'+file);
       if(stats.isDirectory()){
       emptyDir(fileUrl+'/'+file);
       }else{
     fs.unlinkSync(fileUrl+'/'+file); 
删除文件"+fileUrl+'/'+file+"成功");
          }        
    });   
 }
  //删除所有的空文件夹
    var rmEmptyDir = function(fileUrl){
        var files = fs.readdirSync(fileUrl);
        if(files.length>0){
            var tempFile = 0;
            files.forEach(function(fileName)
            {
                tempFile++;
                rmEmptyDir(fileUrl+'/'+fileName);
            });
            if(tempFile==files.length){//删除母文件夹下的所有字空文件夹后,将母文件夹也删除
                fs.rmdirSync(fileUrl);
                console.log('删除空文件夹'+fileUrl+'成功');
            }
        }else{
            fs.rmdirSync(fileUrl);
            console.log('删除空文件夹'+fileUrl+'成功');
        }
    }
    emptyDir(rootFile);
    rmEmptyDir(rootFile);
    res.send('YES!!!');
}); 
页面返回
代码优化:清空文件夹和删除文件夹一次进行
var deleteFolder = module.exports.deleteFolder= function(path) {
    var files = [];
    if( fs.existsSync(path) ) {
        files = fs.readdirSync(path);
        files.forEach(function(file,index){
            var curPath = path + "/" + file;
            if(fs.statSync(curPath).isDirectory()) { // recurse
                deleteFolder(curPath);
            } else { // delete file
                fs.unlinkSync(curPath);
            }
        });
        fs.rmdirSync(path);
    }
}; 
注意
 
//注意里面的file 可能不是文件,也可能是  目录。
 
});