以下代碼可幫助遞歸刪除文件夾。它刪除整個文件夾。遞歸刪除文件夾但排除命名文件夾
var deleteFolderRecursive = function(removePath) {
if(fs.existsSync(removePath)) {
fs.readdirSync(removePath).forEach(function(file,index){
var curPath = path.join(removePath, file);
if(fs.lstatSync(curPath).isDirectory()) {
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(removePath);
}
};
我怎麼能擴展它來刪除文件夾遞歸,而是以文件夾名稱不包括一些文件夾。假設名稱爲parentFolder
的文件夾具有子文件夾名稱folderName1
,folderName2
,folderName3
。 folderName1
和folderName2
及其所有文件將不會被刪除,如果我以下面的方式聲明。
var deleteFolderRecursive = function (removePath, excludeDirArray) {
// code here
}
deleteFolderRecursive(path, ['folderName1', 'folderName2']);
你想在排除列表目錄被完全忽略,或者也走過有文件/在其中目錄還刪除,如果不排除? – Nicholas