通过nodejs来删除文件夹或者是指定文件。1、删除指定路径的文件夹,包括里面的各种子路径一并删除掉;2、删除某一个包下面的指定文件。

1、删除文件夹

  • 在delete包下面,新建deletedir.js文件

    • 方法:deleteDir(url);

    • 参数url:文件路径,绝对路径

    • 内容如下:

      var fs = require("fs"),
          path = require("path");
      
      /**
       * 删除文件夹功能
       * @param  {String} url  文件路径,绝对路径
       * @return {Null}   
       * @author huangh 20170123
       */
      function deleteDir(url){
          var files = [];
              
          if( fs.existsSync(url) ) {  //判断给定的路径是否存在
                 
              files = fs.readdirSync(url);   //返回文件和子目录的数组
              files.forEach(function(file,index){
                  var curPath = path.join(url,file);
                      
                  if(fs.statSync(curPath).isDirectory()) { //同步读取文件夹文件,如果是文件夹,则函数回调
                      deleteDir(curPath);
                  } else {    
                      fs.unlinkSync(curPath);    //是指定文件,则删除
                  }
                      
              });
                 
              fs.rmdirSync(url); //清除文件夹
          }else{
              console.log("给定的路径不存在!");
          }
      
      }
      
      deleteDir('/Users/huanghui/Documents/Nodejs/test/deletefile/test/');
      
      
  • 在控制台,执行:node deletedir.js,即可删除指定的文件夹。

具体代码deletedir.js

2、删除某个包下面的指定文件

  • 在delete包下面,新建deletefile.js文件
    • 方法:deleteFile(url,name);

    • 参数

      • url:文件路径,绝对路径
      • name:需要删除的文件名称
    • 内容如下:

      var fs = require("fs"),
          path = require("path");
      
      /**
       * 删除某一个包下面的需要符合格式的文件。
       * @param  {String} url  文件路径,绝对路径
       * @param  {String} name 需要删除的文件名称
       * @return {Null}   
       * @author huangh 20170123
       */
      function deleteFile(url,name){
          var files = [];
              
          if( fs.existsSync(url) ) {    //判断给定的路径是否存在
                 
              files = fs.readdirSync(url);    //返回文件和子目录的数组
      
              files.forEach(function(file,index){
      
                  var curPath = path.join(url,file);
      
                  if(fs.statSync(curPath).isDirectory()) { //同步读取文件夹文件,如果是文件夹,则函数回调
                      deleteFile(curPath,name);
                  } else {   
                         
                      if(file.indexOf(name)>-1){    //是指定文件,则删除
                          fs.unlinkSync(curPath);
                          console.log("删除文件:"+curPath);
                      }
                  }  
              });
          }else{
              console.log("给定的路径不存在!");
          }
      
      }
      
      deleteFile('/Users/huanghui/Documents/Nodejs/test/deletefile/test/','deletefile');
      
  • 在控制台,执行:node deletefile.js,即可删除指定的文件夹。

具体代码deletefile.js

以上文章来自:黄卉 , https://huanghui8030.github.io/node/delete.html