javascript — удалить папку, содержащую файлы узла js

удалить папку, содержащую файлы узла js

Я ищу способ удаления папок, которые содержат файлы в node.js?

Я знаю, что существует способ удаления пустых папок с помощью fs.rmdir (), и я попытался использовать модуль npm rimraf, который предоставляет функцию «rm -rf» для node.js

 socket.on("end", function (data) { rimraf("./a/b/c", function(err){ if(err){ console.log(err); } }); }); 

но я продолжаю получать эту ошибку.

 { [Error: ENOTEMPTY: directory not empty, rmdir './a/b/c'] errno: -39, code: 'ENOTEMPTY', syscall: 'rmdir', path: './a/b/c' } 

Поэтому я попытался по-другому обойти эту проблему, сначала я очищаю каталог, затем я удаляю каталог

  socket.on("end", function (data) { rimraf("./a/b/c/*", function(err){ if(err){ console.log(err); }else{ fs.rmdir("./a/b/c") } }); }); 

но тогда я получаю эту ошибку

 Error: ENOTEMPTY: directory not empty, rmdir './a/b/c' at Error (native) 

Я проверил папки, которые rimraf удаляет файлы, но я не понимаю, почему я все еще получаю ошибку с fs.rmdir ().

Изменить: я посмотрел другой модуль с именем fs-extra и придумал это.

 fse.emptyDir("a/b/c/", function(err){ if(err){ console.log(err); } else { console.log("doneaaaa") fse.remove("a/b/c",function(err){ if(err){ console.log(err); } else { console.log('doneaswell'); } }); } }); 

Теперь я получаю эту ошибку:

 doneaaaa { [Error: EBUSY: resource busy or locked, unlink 'a/b/c/.nfs000000002ab5000d00000072'] errno: -16, code: 'EBUSY', syscall: 'unlink', path: 'a/b/c/.nfs000000002ab5000d00000072' } 

Как вы можете видеть, я получил первую часть функции, которая удаляет файлы из папки, но когда дело доходит до удаления папки, она выдает ошибку EBUSY.

Заранее спасибо !

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector