电脑甚少见的一个报错:文件夹包含名称过长且无法放入回收站的项目
递归删除文件夹及文件
慎用,不然电脑上的文件删除就无法恢复
使用:
须有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');
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');
本打算今天开始早睡,早起,锻炼身体,看来又睡晚了
发表评论: