知向前端
文件夹包含名称过长且无法放入回收站的项目
2016-5-4 Jon


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



递归删除文件夹及文件

  慎用,不然电脑上的文件删除就无法恢复

  使用:

    须有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');



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

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容