# Метод rmdir

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

## Синтаксис

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

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

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

## Пример

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

`import fs from 'fs/promises'; try { await fs.rmdir('./dir/'); console.log('directory deleted'); } catch (err) { console.log(err); }`

## Пример

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

`import fs from 'fs/promises'; fs.rmdir('./dir/').then(() => { console.log('directory deleted'); }).catch((err) => { console.log(err); });`

## Пример

Давайте асинхронно удалим папку через коллбэк:

`import fs from 'fs'; fs.rmdir('./dir/', err => { if (!err) { console.log('directory deleted'); } else { console.log(err); } });`

## Пример

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

`import fs from 'fs'; try { fs.rmdirSync('./dir/'); console.log('directory deleted'); } catch (err) {s console.log(err); }`

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

- метод `rm`,
  который удаляет файлы и папки
- метод `opendir`,
  который открывает папку

← →
↑