Метод rm - удаление файлов и папок на NodeJS

Метод rm удаляет файлы и папки по указанному в первом параметре пути. Во втором необязательном параметре задаем опции в виде объекта. В третьем необязательном параметре указываем коллбэк.

Синтаксис

fs.rm(путь к файлу или папке, [опции], [коллбэк]);

Объект с опциями

Опция Описание
force Если заданный путь не существует, то исключения игнорируются. Значение по умолчанию false.
recursive Если true, удаляет папку рекурсивно, то есть со всем содержимым. Значение по умолчанию false.
retryDelay При ошибках EBUSY, EMFILE, ENFILE, ENOTEMPTY, EPERM повторяется операция с линейным интервалом ожидания в миллисекундах при каждой попытке. Значение по умолчанию 100.
maxRetries Данная опция задает количество повторов операции при ошибках EBUSY, EMFILE, ENFILE, ENOTEMPTY, EPERM. Значение по умолчанию 0.

Пример

Пусть у нас есть следующая файловая структура:

$structure$> /dir1/ file1.txt file2.txt /dir2/ -structure->

Давайте асинхронно удалим файл file1 через await:

import fs from 'fs/promises'; try { await fs.rm('./dir1/file1.txt'); console.log('file deleted'); } catch (err) { console.log(err); }

Пример

Теперь давайте асинхронно удалим файл file2 через then:

import fs from 'fs/promises'; fs.rm('./dir1/file2.txt').then(() => { console.log('file deleted'); }).catch((err) => { console.log(err); });

Пример

При удалении папки с содержимым необходимо указать в опциях параметр recursive в значении true. Давайте асинхронно удалим папку dir1 через коллбэк:

import fs from 'fs'; fs.rm('./dir1/', { recursive: true }, err => { if (!err) { console.log('folder deleted'); } else { console.log(err); } });

Пример

Теперь давайте синхронно удалим папку dir2 через rmSync:

import fs from 'fs'; try { fs.rmSync('./dir2/', { recursive: true }); console.log('directory deleted'); } catch (err) { console.log(err); }

Смотрите также

  • метод mkdir,
    который создает папку
  • метод rmdir,
    который удаляет папку



Чат с GPT Компилятор