文件夹包含名称过长且无法放入回收站的项目

2016-5-4 Jon nodeJS

电脑甚少见的一个报错:文件夹包含名称过长且无法放入回收站的项目

递归删除文件夹及文件
  慎用,不然电脑上的文件删除就无法恢复
  使用:
    须有nodejs环境(命令行node -v检查是否安装)
    将你无法删除文件夹的目录传入到deleteFolderRecursive('目录');
    使用绝对路径如:F:/remove/Folder
    千万不要传入C:/或者F:/不让你的整个C或F盘就会被删空了
    目录传好后命令行执行node rmdir.js即可

  需求:
    当遇到特殊情况(如:文件夹层及目录过深,无法通过右键删除时)
    今天就是这样,学习Gulp时候用npm安装包,报错,然后去删除node_modules
    目录的时候报‘文件夹包含名称过长且无法放入回收站的项目’的错误
    遂百度之,但许久无果,便想到用nodejs递归写个删除文件和文件夹的小程序。

以下是rmdir.js的代码,很简单,就一个递归。

//rmdir.js
var fs=require('fs');
deleteFolderRecursive = function(path) {
  var files = [];
  if( fs.existsSync(path) ) {
    files = fs.readdirSync(path);
    files.forEach(function(file,index){
      var curPath = path + "/" + file;
      console.log(curPath);
      if(fs.statSync(curPath).isDirectory()) { // recurse
        deleteFolderRecursive(curPath);
      } else { // delete file
        fs.unlinkSync(curPath);
      }
    });
    fs.rmdirSync(path);
  }
};
deleteFolderRecursive('F:/remove/Folder');

本打算今天开始早睡,早起,锻炼身体,看来又睡晚了

标签: node

分享这篇文章
赞助鼓励:如果觉得内容对您有所帮助,您可以支付宝(左)或微信(右):

声明:如无特殊注明,所有博客文章版权皆属于作者,转载使用时请注明出处。谢谢!

发表评论:

皖ICP备15010162号-1 ©2015-2022 知向前端
qq:1614245331 邮箱:13515678147@163.com Powered by emlog sitemap